[ZLG-ARM] LPC2210的SPI做从机时遇到的问题

[复制链接]
1842|0
 楼主| kalehz 发表于 2007-8-15 09:54 | 显示全部楼层 |阅读模式
我想把LPC2210的SPI做从机,接收和发送函数都是按照《ARM嵌入式基础教程》里给的例子:<br />发送函数:void&nbsp;SPISendByte(&nbsp;uint8&nbsp;data&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S1PDR&nbsp;=&nbsp;data;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;0&nbsp;==&nbsp;(S1PSR&0x80)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />接收函数:uint8&nbsp;SPIRcvByte(&nbsp;void&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;0&nbsp;==&nbsp;(S1PSR&0x80)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(S1PDR);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />每次发送一个字节后,S1PSR的SPIF位会置位。按照书上所说,当读取S1PSR寄存器后,SPIF位会清零。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;ch;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ch&nbsp;=&nbsp;S1PSR;<br />但是这样操作后,SPIF位并没有清零。不知道是怎么回事?有没有那位大侠遇到过类似的情况?<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

13

帖子

0

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