串口丢数据的几个常见原因
2022-04-01 06:49:44
串口是工程师最常用的串行外设之一,但正在本质利用中照样会常常碰到各样题目。譬喻:失落一字节数据。
这几个象征位正在编程中常常运用,直接用函数库的同砚能够没相合心过这几个象征位,数据失落有能够便是对它们操作不妥而导致失足。
正在编程时必要思索通讯接口方法,正在长间隔通讯的时刻,必要思索线途上的延时,倘若操作不妥也会导致数据失落。
RS-232准绳接口是常用的串行通讯接口准绳之一,原则逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。
RS485日常采用两线制接线方法,这种接线方法为总线式拓扑构造,正在统一总线上能够挂接众个节点。
正在低速、短间隔、无滋扰的景象能够采用普遍的双绞线;反之,正在高速、长线传输时,则必需采用阻抗完婚(日常为120Ω)的RS485专用电缆;而正在滋扰阴恶的处境下还应采用铠装型双绞障蔽电缆。
指未实时取走数据导致溢出毛病而失落数据,日常是产生正在豪爽数据、以盘问方法授与数据的环境下。正在MCU启动流程中、授与数据过众管束不实时、杂乱编制反应不实时等环境都邑显露数据失落的环境。
运用UART隔绝授与数据比拟盘问授与数据的方法更常睹,隔绝方法比盘问方法反应更实时,但分歧理管束同样也会存正在数据失落的环境。
HAL库依然有几年了,但照样有许众工程师都运用准绳外设库,这时倘若自身封装接口不妥,就会存正在发送结果一字节数据失落的题目。
UART日常会运用232或者485以扩张传输间隔和加强滋扰。然则一朝数据线途太长就存正在传输延时的环境,出格是485传输长间隔,并运用MCU限度传输倾向的环境下。
UART利用的场景比力众,有些利用正在杂乱的工场,滋扰较大从而导致数据失落;有些利用正在温差较大的处境,时钟偏移较大导致数据失落。