完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
最进项目需求用到了一款SPI通讯方式的传感器,每次在定时器触发比较中断后开始读取3个SPI数据,定时器触发的周期40us,如果在中断中开始读取传感器数据大概需要十几个us,再加上处理其它的事情差不多整个中断要停留二十几个us占用了大量时间,所以想有个办法可以让定时器自动触发3个SPI数据的读取,数据读取完毕后再进入中断开始处理数据。
要实现自动触发首先想到的是要开启SPI的发送和接收DMA,当接收DMA使能后,需要再使能发送DMA才能触发SPI通讯,现在的关键问题就是如何使定时器能够自动触发SPI发送DMA的使能,这时就可以使用定时器的DMA写SPI发送DMA控制寄存器,无论是定时器更新DMA还是比匹配DMA都可以,如将定时器更新DMA的目标外设地址设置为SPI发送DMA的控制寄存器,当定时器更新DMA触发时会写SPI发送DMA控制器,使其使能开启。经实际程序验证此方案可行。 |
|
|
|
只有小组成员才能发言,加入小组>>
3263 浏览 9 评论
2944 浏览 16 评论
3443 浏览 1 评论
8955 浏览 16 评论
4036 浏览 18 评论
1081浏览 3评论
561浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
554浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2290浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1849浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-11 01:44 , Processed in 1.026321 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号