串口收发
我用的8670模块,想连接串口自收自发,代码如下int main(void)
{
InitUartStream();
MessageLoop();
return 0;
}
void InitUartStream(void)
{
StreamUartConfigure(VM_UART_RATE_115K2, VM_UART_STOP_ONE, VM_UART_PARITY_NONE);
uart_dir_connect_task.sink=StreamUartSink();
PanicNull(uart_dir_connect_task.sink);
uart_dir_connect_task.source=StreamUartSource();
PanicNull(uart_dir_connect_task.source);
PanicZero(StreamConnect(uart_dir_connect_task.source,uart_dir_connect_task.sink));
}
问题是为什么连上调试器,自收自发就不丢字节,如果不带调试器就会丢字节?还有什么需要设置的地方吗?谢谢
这是由于你脱机运行的时候,由于没有开蓝牙功能,芯片自动进入了低功耗状态(debug状态不会)。解决方案1:
在pstool里禁止进入deep sleep
解决方案2:
把uart放到sink程序里,如果蓝牙连接,则不会丢字节,如果蓝牙未连接,进入了deep sleep,还是会丢。
解决方案3:
在uart发送前,想办法先把芯片从sleep状态唤醒
已经按第一种方法解决,谢谢
页:
[1]