人生初见 发表于 2017-4-12 15:47:36

串口收发

我用的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));
}
问题是为什么连上调试器,自收自发就不丢字节,如果不带调试器就会丢字节?还有什么需要设置的地方吗?谢谢



pkuzhx 发表于 2017-4-13 12:38:00

这是由于你脱机运行的时候,由于没有开蓝牙功能,芯片自动进入了低功耗状态(debug状态不会)。解决方案1:
在pstool里禁止进入deep sleep

解决方案2:
把uart放到sink程序里,如果蓝牙连接,则不会丢字节,如果蓝牙未连接,进入了deep sleep,还是会丢。
解决方案3:
在uart发送前,想办法先把芯片从sleep状态唤醒

人生初见 发表于 2017-4-13 16:18:46

已经按第一种方法解决,谢谢
页: [1]
查看完整版本: 串口收发