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

[求助]请教,MC9S08GT8A的SPI模块标志位应如何清零?

[求助]请教,MC9S08GT8A的SPI模块标志位应如何清零?

不知道什么原因,SPIS_SPTEF一直是1,按照英文数据书上的方法无法实现将其清0.

初始化程序如下:

void SPI_Init(void)
{

unsigned char SPItmp;

SPIC1 = 0x54; //禁止SPI中断;

//使能SPI功能;

//作为主机;

SPIC2 = 0x00;

SPIBR = 0x00; //波特率 10M/1/2=5M

while(SPIS_SPTEF == 0)
{
}

SPID = 0;

PTEDD_PTEDD2 = 1; //释放SPI模块的SS脚,并作为SPI器件的片选脚;

PTED_PTED2 = 0; //SS脚先置高电平
}

你是如何将SPTEF清零的?
海纳百川  有容乃大
没办法清0,我用你在另外一个帖子上的程序http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=121156&ID=121156试了一下,也不行
我还是要重复在那个帖子里的一句话:
实际上SPTEF并不是发送完成标志,而是发送缓冲空标志。如果没有数据正在发送,数据从缓冲转移到发送移位寄存器的速度是非常快的。所以有可能在调试过程中看不到SPTEF变为0的状态。
海纳百川  有容乃大
谢谢,问题已解决~
返回列表