完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
在样本代码中(true){寄存器int PulcNT;//DON?t在紧密循环中轮询in t dmaFlags=DCH0INT;if(dmaFlags&0x3){//CHERIF(DCHxINT<0>)或CHTAIF(DCHxINT<1>set error=true;//error或aborted...如果(dmaFlags&0x8){//CHBCIF(DCHxINT<3>)设置break;//传输正常完成}pollCnt=100;//在这里使用调整后的值,而(pollCnt--);//在再次轮询之前等待}这种注释背后的原理是什么?
|
|
相关推荐
4个回答
|
|
|
也许在严格的循环中轮询会破坏硬件或使它慢下来…
|
|
|
|
|
|
好,这是一个很好的猜测,但只是猜测。微型芯片的家伙应该提供了一个理由这样一句话。我的意思是“打破硬件”可能是一个主要问题。
|
|
|
|
|
|
这是因为在一个紧凑的循环中轮询SFR会占用总线,从而大大减慢传输速度。为了达到最大速度,您应该使用中断来设置一个完整的标志,并停止CPU,而不是坐在.()循环中,假设您没有其他有用的事情要做。例如,假设您设置了DMA_在DMACHx中断例程中的Tx_CompleteFlag您将“等待”放入一个循环中,以防其他中断(定时器等)提前唤醒CPU。
|
|
|
|
|
|
好的,这有道理。谢谢。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475 浏览 0 评论
5794 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1125浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1098浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 14:10 , Processed in 0.782205 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2155