首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Codewarrior 5.1 vs Codewarrior 6.0

Codewarrior 5.1 vs Codewarrior 6.0

AW60, 用5.1写M95160 Serial SPI Bus EEPROM 没问题, 软硬件都没变, 换成6。0就不行了,无法写flash,Codewarrior 的编译选项的设置是一样的,请教可能的原因。谢谢
这是flash程序:
void WriteByteEE(word Addr,byte Dato)
{
SPI1C1_SPE = 1; // abilita la SPI
asm sei // spegni interrupt

if (SPI1S_SPTEF) // leggo flag ricezione
SS1=0; // inizio tx istruzione
SPI1D=WREN; // abilitazione alla scrittura
if (SPI1S_SPRF)
SPI1D;
while (SPI1S_SPRF==0)
;
SPI1D;
SS1=1; // fine istruzione

SS1=0; // inizio tx istruzione
while (SPI1S_SPTEF==0) // attendo momento adatto
;
SPI1D=WRITE; // 1?comando di lettura
while (SPI1S_SPTEF==0)
;
SPI1D=(byte)(Addr/256); // 2癷ndirizzo High
while (SPI1S_SPTEF==0)
;
SPI1D=(byte)(Addr); // 3癷ndirizzo Low
while (SPI1S_SPTEF==0)
;
SPI1D=(byte)(Dato); // 4?Dato
while (SPI1S_SPTEF==0)
;
SPI1D=1; // dato finto...
while (SPI1S_SPRF==0)
;
SS1=1; // questo byte di risposta ?quello valido
asm cli // accendi interrupt
}
// clock frequency = 10MHz
// SPI Master
void InitSPI(void)
{
SPI1C2 = 0x00;
SPI1BR=0x00;
SPI1C1=0x12;
}
这非常奇怪。你用示波器看过它们的波形有什么不同吗?
海纳百川  有容乃大
返回列表