اطلاعیه

Collapse
No announcement yet.

مشکل با spi

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با spi

    سلام خسته نباشید
    نفهمیدم اشکال کار کجاست
    می خوام از میکرو مگا8 اعداد 1 تا 255 رو مثلا ارسال کنم به برد1768 (بر عکس این رو جواب گرفتم یعنی از 1768 به مگا8)ولی راه نمیوفته..
    همش روی lcd عدد255 رو نشون میده......جالب اینجاست که اگه مگا 8 رو هم از مدار خارج کنی (ارتباط رو قطع کنی) بازم همین 255 رو نشون میده..
    نیازمند یاری سبزتان هستم
    ...
    کد مگا 8:
    .........................
    $regfile = "m8def.dat"
    $crystal = 4000000
    Config Spi = Hard , Interrupt = Off , Data Order = Lsb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4
    Dim A As Byte
    A = 0
    Spiinit
    Wait 8
    Do
    Spiout A , 1
    Incr A
    Wait 5
    Loop
    End
    ...
    کد 1768:
    .....................
    #include "LPC17xx.h"
    #include <stdio.h>
    #include "delay.h"
    #define LCD_LPC1768
    #define LCD_PORT_0
    #define LCD_RS 0
    #define LCD_E 1
    #define LCD_DB4 2
    #define LCD_DB5 3
    #define LCD_DB6 4
    #define LCD_DB7 5
    #include "lcd.h"
    int main(){
    unsigned short i=1;
    unsigned char rec;
    lcd_init();
    lcd_clear();
    lcd_gotoxy (1,1);
    lcd_putsf("spi test"
    delay_ms(500);
    LPC_SC->PCLKSEL0 |=(0<<16);//FSPI=100M/4=25MHZ
    LPC_SC->PCONP |= (1 << 8);//power on
    LPC_PINCON->PINSEL0 |=0xc0000000;
    LPC_PINCON->PINSEL1 |=0x0000003c;
    LPC_SPI->SPCCR=25;
    LPC_SPI-> SPCR = 0x086C
    while(1){
    LPC_SPI->SPDR = i;
    while(!(LPC_SPI->SPSR & 0x80));
    rec=LPC_SPI->SPDR;
    lcd_gotoxy (2,1);
    lcd_puts(rec);
    delay_ms(300);
    }
    }
    ...
    باتشکر
لطفا صبر کنید...
X