完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
HII有一个PIC32MX795F512L。我正在做一个简单的UART中断代码,我在(1)循环中在UART上打印一些值,我有一个Rx的ISR。在上面的代码中,我配置了用于中断的UART并在UART上打印一些数据。上面的代码是用于UART的ISR。它把接收到的数据存储在Rx中,直到它收到r。我称之为outputCommand[Rx],它包含基于接收的数据的if条件。据我所知,上述代码的功能应该是:虽然循环运行应该在UART上每隔1s打印一次,当rx数据是1时,中断触发。应该打印出来。但是每隔1秒就会显示“Whilelooprun”,但当rx数据是1时,就会显示“Inter.Fired”,之后什么都不会发生。while循环和输出命令停止工作。怎么了?我也有一个问题,当我们在(1)的时候,ISR发生了什么?
|
|
相关推荐
6个回答
|
|
嗯,不要在ISR内部执行“发送”。它将花费大量的时间并打破它在ISR中设置一个标志并在主代码中处理它。
|
|
|
|
考虑RX中断标志的功能和操作。你也有一些严重的设计问题。ISRs不应该有这样的循环,也不要打印到串口或其他耗时的代码。
|
|
|
|
达里奥吉试着设置一面旗帜,但没有奏效。像下面:然后在(1)这就是你所说的。
|
|
|
|
当我使用RX数据时(1)
|
|
|
|
好吧,什么不起作用?没有接收,或标志没有设置,或?PS“检查”必须声明“不稳定”!
|
|
|
|
对.....首先,您正在清除RX中断标志,然后等待设置RX中断标志的接收....不要等待接收中断中的字节。这就是中断的原因!中断例程伪代码:-如果设置了检查,{我们有溢出错误-处理它}否则{使用索引将字节读入缓冲区数组。如果字节是“r”设置检查主处理字符串,并将索引设置为0,否则递增索引}清除中断标志isrin maindo{如果检查被设置{进程接收字符串清除检查}}}},而(1);检查和接收缓冲区都应该是volatile您将必须为接收添加边界检查你自己。
|
|
|
|
只有小组成员才能发言,加入小组>>
5242 浏览 9 评论
2031 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3207 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2256 浏览 5 评论
778浏览 1评论
669浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
596浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
678浏览 0评论
577浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 17:51 , Processed in 1.429456 second(s), Total 89, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号