28335用SPI接收的数据总是发送的数据,怎么回事儿? 10

我用dsp28335读取一个16位ADC芯片,用SPI进行读写的时候,dsp的SDO能收到正确的波形,SDI引脚却没有波形输出,而且读取SPIRXBUF里面的数,刚好就是... 我用dsp28335读取一个16位ADC芯片,用SPI进行读写的时候,dsp的SDO能收到正确的波形,SDI引脚却没有波形输出,而且读取SPIRXBUF里面的数,刚好就是我丢到SPIRXBUF里面发送的数据,网上说是查到DSP的SCI通讯方式的话有这种情况的话,这种原因是RX和TX共用了buf,想问问SPI是不是一样的情况? 小白一个求指导。下面附上SPI的寄存器配置和我读取ADC芯片的程序,帮帮忙看看有没有什么问题。 展开
 我来答
刀无极啊
2017-01-16 · TA获得超过3767个赞
知道大有可为答主
回答量:2960
采纳率:85%
帮助的人:925万
展开全部
1 注意数据写入SPITXBUF时是左对齐,而读入SPIRXBUF是右对齐。这个问题在16位字长时不突出,但是在16位以下数据字长时要特别注意,一般方法是做左移运算。
2 数据丢失问题:在开启SPIFIFO增强功能时,不能根据SpiaRegs.SPISTS.bit.BUFFULL_FLAG来暂停发送数据。因为此时的TXBUF是从TXFIFO中得数据。程序中写入TXBUF,只是写入发送缓冲器即FIFO。根据先进先出原理,你源源不断地向TXBUF写数据,则FIFO里总是保存你最后写入的数据,而不会将SpiaRegs.SPISTS.bit.BUFFULL_FLAG位置1,所以会发现数据丢失。正确的方法应该判断SPITXFIFO中的字的个数。
追问
您的意思是我现在的问题就是写入缓冲器TXBUF之后还没有发送出去,就被我从RXBUF里面读取出来了,是这个意思吗?
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
豪哥ox
2020-06-18
知道答主
回答量:2
采纳率:0%
帮助的人:1540
展开全部
大兄弟 你这个adc芯片调出来了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式