»
(008) CubeIDE Implementation of USB Peripherals*
(018) C99 pointer*
(019) C99 With only value assignment*
(022) POSIX pthread multi-threads mutex*
(023) POSIX pthread multi-threads programming*
(027) C99 time and wait*
(028) High-precision calculation with GMP*
(029) Web Service Lib*
(030) International Components for Unicode (ICU)*
(031) Performance of C is higher than C++, because...*
(040) STM32 UART, RS232 single TX line
一、通信基础: 串口、RS232是单根线发送数据,没有辅助的其他线,所以,通信双方需要有相同的时钟基准,并且需要有相同的波特率。 ┐┌┐┌ ││││ └┘└┘ 在RS232通信中,所有厂家的时钟基准的统一特别要紧,统一了时基与波特率,才能有通信的基础。 二、发送过程: 对于未开始发送数据的情况,RS232中,始终保持高电平。 ┐┌─ ││ └┘ 而,数据收发的规则,也就是帧格式协议需要通信双方事先确定。 在RS232开始发送数据时, 1)首先发送一个时基单位的低电平,表示开始传输数据了 2)发送完成5~8bit数据(5~8个时基,按事先约定) 3)如果双方协商的通信协议包含1个奇偶位,则发送一个时基单位的奇偶校验位 4)后续按通信帧协议约定发送1个时基或者1.5个时基或者2个时基单位的停止位 对于STM32CubeMX中的UART配置,可以是:数据长度8bit,一个奇偶校验位,一个停止位。 类似SSCOM的读取串口的软件中做相同的配置。