打印

求助。spi从机问题。谢谢

[复制链接]
2553|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tjlwl|  楼主 | 2014-4-4 22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教下,c8051f500做spi从机时,在主机不来交换从机spidata寄存器里面的数据时,来怎么清空从机spidata里面以前的数据啊?有人这么用过吗?

相关帖子

沙发
NE5532| | 2014-4-5 15:10 | 只看该作者
一般来说这个寄存器是硬件映射到两个独立寄存器的——TX缓冲和RX缓冲,你读的时候读到的是RX缓冲,这个你改不了,只能等主机发来下一个数据,才会有变化;写的时候是写到TX缓冲里的,至于楼主想怎么个“清空”法,我们实在理解不了,请楼主根据上面的解释自己研究一下。

使用特权

评论回复
板凳
ningling_21| | 2014-4-5 18:30 | 只看该作者
SPI有发送和接收缓冲区DATA,楼主要清空那一个呢?

使用特权

评论回复
地板
tjlwl|  楼主 | 2014-4-14 22:17 | 只看该作者
NE5532 发表于 2014-4-5 15:10
一般来说这个寄存器是硬件映射到两个独立寄存器的——TX缓冲和RX缓冲,你读的时候读到的是RX缓冲,这个你改 ...

是这么个意思,我用f500采集了一个adc值做spi从机,向主机传输数据,但是主机可能在这次来交换数据之后,可能会等上一段时间再来交换数据,而我的从机的数据在需要不停的刷新TX的缓冲数据,来保证下次主机需要交换的数据是实时的数据,而不是以前的数据。目前就是主机没有来交换数据的话,我的f500的TX的缓冲里面没有刷新数据,在下一次主机来交换数据时,有前面的数据出来一次,从机不是实时的数据在刷新。所以想问下,怎么来不停的刷新从机的TX的缓冲器,就算在主机不来交换数据的时候,从机的TX的缓冲器是在刷新数据的。不知道这样是否可行?

使用特权

评论回复
5
tjlwl|  楼主 | 2014-4-14 22:19 | 只看该作者
ningling_21 发表于 2014-4-5 18:30
SPI有发送和接收缓冲区DATA,楼主要清空那一个呢?

是想清空发送的缓冲区,相当于是从机的数据,主机不来交换的话,我就清空TX的缓冲区,在重新填写新的数据进TX的缓冲区;一旦主机来交换数据的话,以此保证我的数据是实时的新数据。不知道这样是否可行?所想问问F500的spi能不能这样用?

使用特权

评论回复
6
ningling_21| | 2014-4-15 08:37 | 只看该作者
tjlwl 发表于 2014-4-14 22:19
是想清空发送的缓冲区,相当于是从机的数据,主机不来交换的话,我就清空TX的缓冲区,在重新填写新的数据 ...

主机模式下,写入数据到SPI0DAT后,会自动启动发送。所以要更新只要发送完再不断的写数据进去就可以了.

使用特权

评论回复
7
ayb_ice| | 2014-4-15 09:07 | 只看该作者
从机不断的采集数据就可以了,主机访问时把最新的数据传给主机就可以了

使用特权

评论回复
8
tjlwl|  楼主 | 2014-4-15 21:40 | 只看该作者
ayb_ice 发表于 2014-4-15 09:07
从机不断的采集数据就可以了,主机访问时把最新的数据传给主机就可以了

我现在做的就是从机不断的采集数据,还是有一次数据输出是前面的。我在看看是不是我设置的不对。所以想问下这个型号的spi缓冲器怎么清空。

使用特权

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

本版积分规则

个人签名:生命不息,奋斗不止!

11

主题

357

帖子

2

粉丝