|
楼主 |
发表于 2007-4-27 12:58:47
|
显示全部楼层
M128的手册中对同步方式介绍的很少,原理图在附件,我的原程序如下:
#include <avr/io.h>
#include <avr/delay.h>
#include <avr/eeprom.h>
void main()
{
DDRA=(1<<DDD0)|(1<<DDD1)|(1<<DDD2)|(1<<DDD3);//三个LED,PD3是FLASH CS
UBRR1H=0X1;
UBRR1L=0X7F;//9K6的波特率
UCSR1C=0X40;
UCSR1A=0X00;
UCSR1B |= (1<<RXEN1)|(1<<TXEN1);
int i;
unsigned int add=0x0e5;
unsigned char sent=0x9f;
unsigned char re[8];
PORTA=(0<<PA0)|(1<<PA1)|(1<<PA2)|(0<<PA3);//LED表识程序执行状况
//PA3用于片选FLASH
_delay_loop_1(60);
UDR1=sent;//此处发的命令是读FLASH芯片信息的命令
while(!(UCSR1A&(1<<TXC1)));//到这里就死循环了.
_delay_loop_1(60);
for(i=0;i<8;i++)
{
while(!(UCSR1A&(1<<RXC1)));
re=UDR1;
}
for(i=0;i<8;i++)
{
eeprom_write_byte(add,re);
add++;
}
PORTA=(1<<PA0)|(0<<PA1)|(1<<PA2);
}
|
|