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

MC9S08SG32 SPI问题

MC9S08SG32 SPI问题

void SpiInit(void)
{
SPIC1 = 0x5c; // Master mode, SPI enable.
SPIC2 = 0x00; //
SPIBR = 0x00; // 2MHZ
PTADD_PTADD7 = 1;// Out
//PTAD_PTAD7 = 1; // Initail zero
}

unsigned char Read_SR(void)
{
unsigned char Tmp;

SPID = 0x05; //M95040 Read Stat Register
while (!SPIS_SPTEF);

Tmp = SPID;
while (!SPIS_SPRF);

return Tmp;
}

unsigned char EepromByteRead(unsigned int EepromAddr)
{
unsigned char Tmp;


SPID = 0x03; //M95040 Read Command
while (!SPIS_SPTEF);

SPID = EepromAddr; // M95040 Read Address
while (!SPIS_SPTEF);


Tmp = SPID;
while (!SPIS_SPRF);

return Tmp;
}

void EepromByteWrite(unsigned char EepromAddr, unsigned char data)
{
SPID = 0x01; //M95040 Wrtie Stat Register
while (!SPIS_SPTEF);

SPID = 0x06; //M95040 Write Enable
while (!SPIS_SPTEF);


SPID = 0x02; //M95040 Send Write Command
while (!SPIS_SPTEF);

SPID = EepromAddr; //Send Writen Address
while (!SPIS_SPTEF);


SPID = data; //Writen 8 bit MSB
while (!SPIS_SPTEF);
}

[此贴子已经被作者于2008-9-1 16:48:23编辑过]

这是我写ST95040(EEPROM)的SPI程序,但是不知道哪里错了,就是没有感觉,只有单片机输出数据,而

95040没有数据返回,请大家帮我看一看,我的SPI是不是有问题啊????

如果MCU的SPI端口,包括时钟和输出口上都有信号输出,而且波形也对的话,那么应该就不是MCU的问题了。
海纳百川  有容乃大

我也是这么认为的,但是我把ST95040换了一个,也不行.

我总觉的是自已的时序没有写对头,所以才这样

返回列表