[51单片机] C8051F020 SPI通信 SPIF位不能置1导致单片机死机

[复制链接]
 楼主| LSLDAY 发表于 2016-5-5 18:07 | 显示全部楼层 |阅读模式
C8051F020   SPI通信  SPIF位不能置1导致单片机卡在
while (SPIF == 0){;}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| LSLDAY 发表于 2016-5-5 18:07 | 显示全部楼层
各位同学有遇到的过的吗
 楼主| LSLDAY 发表于 2016-5-5 18:11 | 显示全部楼层
还有一点,,,并不是每次都死机,而是单片机运行一段时间后有时会出现死机情况,用的硬件仿真器全速跟踪调试,出现死机时,停止调试,程序箭头指向  while (SPIF == 0){;}   这里,每次死机都这么个情况
lyjian 发表于 2016-5-5 21:19 | 显示全部楼层
直接去查找SPIF不能置位的原因,没什么好纠结的
yhn1973 发表于 2016-5-6 14:29 | 显示全部楼层
清SPIF标记不要用SPIF=0,要用SPI0CN&=0x0f
 楼主| LSLDAY 发表于 2016-5-19 09:51 | 显示全部楼层
lyjian 发表于 2016-5-5 21:19
直接去查找SPIF不能置位的原因,没什么好纠结的

找到了不是SPIF不能置位,是调用SPI读写的函数数有问题,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| LSLDAY 发表于 2016-5-19 09:52 | 显示全部楼层
yhn1973 发表于 2016-5-6 14:29
清SPIF标记不要用SPIF=0,要用SPI0CN&=0x0f

这样写有什么好处吗?
yhn1973 发表于 2016-5-19 10:29 | 显示全部楼层
可能会导致SPI0CN其他标记置1,这样不清0的话SPI会不管用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

288

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部