打印
[ZLG-ARM]

请教LPC2131有关SPI的问题

[复制链接]
1880|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
active329|  楼主 | 2007-2-5 22:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问LPC2131的SPI只能传输八位的数据么,SPI的数据寄存器S0SPDR中的数据只有八位么?我现在在实际的课题中要用SPI向DA转换器传数据,但是DA的SPI接口数据位数要求是16位的,假如LPC2131的SPI只能传八位的数据,那么有什么办法可以解决传输位数不等的问题?如果能LPC2131的SPI支持16位的数据就更好了

相关帖子

沙发
zlgARM| | 2007-2-6 09:40 | 只看该作者

re

SPI接口在一次传输中,只能传输8位的数据。
但想发送16位数据,只要在发送完第一个字节后紧接着再发送第二个字节就好了。不过要注意,2字节的发送过程里,从机片选要保持有效。

使用特权

评论回复
板凳
空中堡垒| | 2007-2-6 18:32 | 只看该作者

re

LPC2131的SPI模块每次发送8个bit,因为数据寄存器为8位。
不过,诚如楼上的朋友所讲,你可以分几次发送就是了啊!每次8个bit,16位的话,发两次就可以了,但是在最终完成一次数据位大于8位的传输之前,SPI的使能信号要保持,例如:发送16位数据共分2次,第一次结束之后使能信号继续保持,等待第二次发送结束之后再取消使能。不要担心从机会误判,因为主机、从机采样需要时钟信号的边沿触发。

如果你实在要一次就发送16位,建议你尝试用LPC2131的SSP接口,它的数据寄存器是16位的,我还没试验过,没有绝对把握,有兴趣的话你不妨试验一下。

辽东半岛号

使用特权

评论回复
地板
active329|  楼主 | 2007-2-6 19:11 | 只看该作者

谢谢答复

我做做实验试试,谢谢你们的答复。在这里受益匪浅,呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

14

帖子

0

粉丝