Microchip
直播中

任莉虹

7年用户 211经验值
私信 关注
[问答]

使用蓝牙模块无法通过USART接收超过2个字符

HI -我写了一些代码(见下文)使用中断发送和接收超过UART的数据。我发现:当使用PC(腻子)发送数据时,PIC代码接收超过2个字符。当我切换到蓝牙模块(HC-05)时,一次只能向PIC发送2个字符。为了ADC目的,我有一个定时器中断(TMR0)设置为20ms间隔。在里面,我有一个Primff(),它通过UART发送我需要的数据。如果我增加这个中断,比如说,1s或者移除printf(),那么UART就能够通过蓝牙模块接收超过2个字符。作为测试,我试着在RX中断被调用时禁用所有中断(停止TMR0中断),但是似乎没有帮助。为全双工做错事不工作?

回帖(9)

杨玲

2019-8-26 08:43:15
您正在启用中断,但我没有看到中断处理程序。
举报

王秀兰

2019-8-26 08:59:55
这是处理程序…我只使用RX中断。顺便说一下,“command”变量只是我用来调试的(我用它来关闭在TMR0 ISR中通过UART发送数据——在发送停止时,RX工作正常)。正如我所说,RX在PC上使用油灰而不是通过蓝牙发送的时候效果很好。
举报

张娜

2019-8-26 09:18:27
这个ISR是非常糟糕的,IMO.,我是说,呼叫USAARTH接收…
举报

王秀兰

2019-8-26 09:37:58
达里奥,怎么了?中断处理程序是否只需捕获接收到的字符?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分