嗨,Dailog,
我在使用串口去和一个外设通信,发送数据没有什么问题,但是不知道怎么使用串口的中断接收模式,试着去做了一个测试程序如下,
1.启动时候的设置:
hw_uart_receive(HW_UART2, uart_rx_buf_for_device, 8, uart_callback_for_device, NULL);
uart_callback_for_device函数:
空白uart_callback_for_device (void) {
OS_TASK_NOTIFY (handle_my_task UART_DATA_RX_NOTIF OS_NOTIFY_SET_BITS);
}
在任务里面去打印串口接收到的数据:
如果(notif &UART_DATA_RX_NOTIF) {
printf("接收的数据> > >:\ r \ n”);
(与我= 0;< 8;我+ +){
printf (" % d”,uart_rx_buf_for_device[我]);
}
printf (" \ r \ n ");
hw_uart_receive(HW_UART2, uart_rx_buf_for_device, 8, uart_callback_for_device, NULL);
}
2.问题:
接收前几包数据是正常的,可以打印出发送给串口的数据,但是连续发几次后,就再也接受不到数据了
这样的处理流程存在什么问题,会导致串口收不到数据了?
或者对话框官方是否有中断模式使用串口的示例代码?
谢谢
沃特
设备:
嗨WaltWang,
请不要在英文论坛上发中文帖子,只要有英文问题,你可以在英文论坛上提问,这个问题将移到中文论坛。
由于MT_dialog
嗨,MT_dialog,
抱歉,我的英语不好,不熟悉我们的论坛
下次我会更小心的
谢谢
沃特
建议你跟随我们标准的uart适配器接口
好的,谢谢