سلام خسته نباشید
نفهمیدم اشکال کار کجاست
می خوام از میکرو مگا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);
}
}
...
باتشکر
نفهمیدم اشکال کار کجاست
می خوام از میکرو مگا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);
}
}
...
باتشکر