你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

L433单片机的SPI3,在从模式,开接收中断情况下的问题

[复制链接]
2qw123 提问时间:2024-4-11 17:40 / 未解决
L433单片机的SPI3,在从模式,开接收中断,LSB优先,CR2寄存器中DS设置为0111,也就是8位,在设置FRXTH位也就是接受8位就进接收中断的情况下,在每次中断里都读DR寄存器,似乎DR寄存器还是能读出多个8位的数据来,请问DR接收的寄存器,什么条件下能清空,似乎不是读一次就清空啊。类似的问题,DR发送的寄存器,什么条件下能清空,TXE位什么条件下会置0,什么条件下会置1,在每次单片机读取的同时,都会给DR写入8位数据,但是不是每次写入8位数据后,TXE位都会置0,而且SPI的主机那边会读到写入的数据跟00交替的数据,给人一种实际上数据有16位,而且写入失败的感觉?另外L433有中文手册吗,谢谢
收藏 评论2 发布时间:2024-4-11 17:40

举报

2个回答
xmshao 回答时间:2024-4-12 09:20:15
首先,对STM32L433的 SPI的DR寄存器的读写访问,不能随意,必须基于RXNE和TXE事件。


读取时还必须注意对齐访问,即按照你设置的接收阈值深度来对齐访问。


当TXFIFO空置水平大于1/2深度时,TXE被清零。


RXNE置1跟FRXTH有关,当FRXTH=1时,当RXFIFO填充不少1个字节时,RXNE置位,否则被硬件自动清零。


当FRXTH=0时,当RXFIFO填充不少于2个字节时,RXNE置位,否则被硬件自动清零。


至于手册,客观点说,如果英文不太好理解,翻译过来的很难保证更好理解。
xmshao 回答时间:2024-4-12 09:20:15
首先,对STM32L433的 SPI的DR寄存器的读写访问,不能随意,必须基于RXNE和TXE事件。


读取时还必须注意对齐访问,即按照你设置的接收阈值深度来对齐访问。


当TXFIFO空置水平大于1/2深度时,TXE被清零。


RXNE置1跟FRXTH有关,当FRXTH=1时,当RXFIFO填充不少1个字节时,RXNE置位,否则被硬件自动清零。


当FRXTH=0时,当RXFIFO填充不少于2个字节时,RXNE置位,否则被硬件自动清零。


至于手册,客观点说,如果英文不太好理解,翻译过来的很难保证更好理解。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版