快捷搜索:  

用zmodem往设备传文件时发现串口概率性卡死

广告

我用securecrt通过zmodem协议往设备传文件时,发现串口概率性卡死。表现为设备上运行的lrzsz进程在通过read函数读取串口数据时阻塞,只有断电重启设备才能恢复,如附图1,但是通过另一个USB转UART的串口线监控PC往下发的数据,发现PC通过串口发送完整个文件的数据,只是设备的串口接收没有收到,在设备的串口接收中断中增加计数,当发生故障时,计数不增加,说明串口接收不正常,或者接收中断不正常。

如何串口中断同时发送数据

该代码的逻辑是这样的,用于调试的串口是多功能复用的GPIO口,在使用时可能需要切换到其它工作模式,比如当需要烧写uboot时,需要将该串口切换为I2C的工作模式。驱动代码增加了通过连接输入5个字符"1"或者"2"来切换工作模式。当传输的文件中包括有连续5个"1"或者"2"的字符串时,该串口就被切换到其它工作模式,而不能进行串口数据的收发。

如何串口中断同时发送数据1、关于串口中断发送的问题。

//创建一个串口通讯SerialPortCurrentPortnull;CurrentPortnewSerialPort();CurrentPort.ReadBufferSize128;CurrentPort.PortNamecomName;//端口号CurrentPort.BaudRatebandRate;//比特率CurrentPort.Parityparity;//奇偶校验CurrentPort.StopBitsstop;//停止位CurrentPort.DataBitsdatabit;//数据位CurrentPort.ReadTimeout1000;//读超时,即在1000内未读到数据就引起超时异常//绑定数据接收事件,因为发送是被动的,所以你无法主动去获取别人发送的代码,只能通过这个事件来处理CurrentPort.DataReceived+Sp_DataReceived;CurrentPort.Open();定义一个变量byte[]receiveStr;//绑定的事件处理函数。

如何串口中断同时发送数据2、请教51单片机使用串口中断发送和非中断发送有

51单片机串口发送数据,有两种方式,中断方式和查询方式。就发送数据的结果而言没有任何区别,也都很简单容易。要找区别,中断方式适合于稍复杂的系统,单片机执行程序需要完成的任务比较多,就不能采有查询方式发送,这样会白白浪费单片机大量的时间而影响完成其它任务了。所以,中断方式,节省单片机的时间,效率是最高的,也是正式产品采用的方式。

如何串口中断同时发送数据3、单片机串口发送完数据以后是否要申请中断?串口发送和接收数据是否可以同...

RS232串口是全双工的,它的接收与发送是分开两个通道的,所以是可以同时进行的。我来回答一下吧!本人不是高手,我认为串口发送完数据以后最好要申请中断。串口发送和接受数据是可以同时进行的。发送数据一般没有必要申请中断,在下次发送前判断一下即可。如果你有特殊的处理当然也可以。发送和接受走不通的线可以同时进行。

4、串口中断与定时器中断同时开

查询串口发送状态来避免中断。中断有级别的高低的,中断初始化在前面,都开了!while(1){D20;///点亮一个小灯while(aS)///距离的设定!脉冲个数{N0;b++;}UART0_Init();//串口初始化,为发送数据做准备。你用什么环境?有OS吗?如果是单片机不会这样,因为在单片机里面时间中断的级别比串口高.或许你是在使用软件计时。

您可能还会对下面的文章感兴趣: