[ZLG-MCU] 请教关于LPC213x的SPI口的使用

[复制链接]
2490|2
 楼主| mcuatmel 发表于 2007-4-24 09:06 | 显示全部楼层 |阅读模式
用SPI对一器件做读写操作,过程如下:<br />#define&nbsp;SPI0_CS&nbsp;=&nbsp;(1&lt&lt24)<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0&nbsp;=&nbsp;0x00005500;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置SPI管脚连接<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL1&nbsp;=&nbsp;0x00000000;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;IO1DIR&nbsp;=&nbsp;SPI0_CS;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO1SET&nbsp;=&nbsp;SPI0_CS;<br />&nbsp;&nbsp;&nbsp;&nbsp;S0PCCR&nbsp;=&nbsp;0x52;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置SPI时钟分频,&nbsp;初始化SPI接口<br />&nbsp;&nbsp;&nbsp;&nbsp;S0PCR=0x38;//下降沿发送,上升沿接收<br /><br />void&nbsp;SPI0_WR8(uint8&nbsp;Addr,uint8&nbsp;Dta)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=SPI0_CS;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S0PDR&nbsp;=&nbsp;Addr|0x80;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;0==(S0PSR&0x80)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S0PDR&nbsp;=&nbsp;Dta;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;0==(S0PSR&0x80)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;IO1SET|=SPI0_CS;<br />}<br />uint8&nbsp;SPI0_RD8(uint8&nbsp;Addr)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;u8temp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO1CLR=SPI0_CS;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S0PDR&nbsp;=&nbsp;Addr;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;0==(S0PSR&0x80)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;DelayNS(1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S0PDR&nbsp;=&nbsp;0xff;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(&nbsp;0==(S0PSR&0x80)&nbsp;);<br />&nbsp;&nbsp;&nbsp;&nbsp;u8temp=S0PDR;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO1SET|=SPI0_CS;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(u8temp);<br />}<br /><br />我先向器件的可读写寄存器中写入数据后再读怎么读不出来?<br />
南方亿扬 发表于 2007-4-29 01:28 | 显示全部楼层

硬件问题,用示波器

  
mingliren 发表于 2007-4-29 17:08 | 显示全部楼层

关注

关注
您需要登录后才可以回帖 登录 | 注册

本版积分规则

512

主题

1456

帖子

2

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