Board logo

标题: 请问SPI的问题 [打印本页]

作者: tubage1230    时间: 2006-7-11 22:02     标题: 请问SPI的问题

SPI与MC14489通讯,一次性写入三个字节才能正常显示。。


现在编写的程序总是写了第一个字节,第二和第三个总是写不进去。。


请问是什么原因啊,SPI是不是来一个就发一个。不能连续一次性发送三个字节啊??


谢谢了我用的是DP256


作者: strongchen    时间: 2006-7-12 09:42

SPI应该是写一个发一个,不会自动连续发送的吧?
作者: tubage1230    时间: 2006-7-12 14:36

是写一个,然后就发出去了。MC14489就收到了!
但是关键的是MC14489是自动判断收到的字节数是1个字节还是三个字节来决定送到什么寄存器的,只有三个字节才能显示出来。
问题就在这里。。
SPI能不能实现一次传三个字节的程序。。
每次写一个字节发送一个然后MC14489就接受了一个字节。这样显示不了
作者: tubage1230    时间: 2006-7-12 14:38

但是用PORTA口模拟SPI的话,就可以正常显示了,一次发送三个字节,然后正常显示。。

这个是什么原因呢?
是SPI不能连续传三个吗?
网上也找不到合适的例子。。。
作者: strongchen    时间: 2006-7-12 15:10

SPI在开始发送第一个字节后,就可以写第二个字节了。发送完第一个字节后,就会自动开始发送第二个字节,如此继续。另外,由于SPI是发送和接收同时进行的,你可能要读一下接收寄存器,清RF标志。
作者: tubage1230    时间: 2006-7-13 11:00

现在SPI只有发送啊,没有接受。。
发送出一个MC14489就接受一个字节。。
但是一接受问题就出来了,如果是单个字节的话只能送到设置寄存器,而不是送到显示寄存器。要想送到显示寄存器必须得是三个字节才行哈。
我用PA口模拟搞定了。但是SPI死活只能接受一个字节。。
作者: strongchen    时间: 2006-7-13 15:12

SPI主机是发送和接收同时进行的。它当然能连续发送多个字节了,只是不是完全自动的而已。
作者: zhwdy81    时间: 2006-7-18 09:50

我的就是连续发送几个字节 没问题的啊
作者: tubage1230    时间: 2006-7-18 10:07

本帖最后由 tubage1230 于 2010-5-30 14:23 编辑

qdas asdasdasdasdas




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0