发新帖我要提问
12
返回列表
打印
[AT32F415]

SPI读取24位数据发生了数据颠倒

[复制链接]
楼主: 1109346714
手机看帖
扫描二维码
随时随地手机跟帖
21
发送之前读一次SPI-DR寄存器,操作:片选上升沿过来时,先SSI置位1,读SPI-DR值,清空DMA的中断寄存器,使能DMA,SSI值0;

使用特权

评论回复
22
wakayi| | 2022-11-7 13:30 | 只看该作者
软件开肯定比硬件开得慢,要是使用NSS外部中断的下降沿进行中断:可能来不及操作SSI位,所以会丢失某一位。所以我的经验是,放在数据传送完成的上升沿中断中,先SSI置位1,此后清空DMA的中断寄存器,重新装载数据寄存器(可以不装载)使能DMA,SSI值0;很好完美解决了数据错位的问题

使用特权

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

本版积分规则