STM32F103C8T6-串口接收数据取反
一、题目
串口(使用USART2,TX为PA2,RX为PA3),发送0x55显示在上位机串口助手上,将接收的上位机数据取反后再发送到串口助手上。(波特率9600)
二、一些知识
1. 同步通信与异步通信
- 同步通信:在同步通信中,数据的发送和接收双方需要在相同的时钟频率下工作。通常,一个设备(一般称为主设备)会产生一个连续的时钟脉冲,这个脉冲信号会通过专用的线路传送给接收设备。接收设备利用这个外部时钟信号来判断每一个数据位的采样时刻,从而实现精确的数据同步和采样。例如,SPI总线中就有一条专门的时钟线(SCLK),它就是用来同步数据传输的。
- 异步通信:在异步通信中,双方没有共同的外部时钟信号,发送方会在数据帧前加上起始位,接收方则依赖预设的波特率在接收到起始位后以这个波特率自我生成内部时钟来采样后续的数据位,直到遇到停止位为止。由于没有独立的外部时钟信号,所以数据传输中会有一定的时序偏差容忍范围。
本题属于异步通信。使用外部晶振(HSE)作为时钟源,频率误差非常低。
注:
- 0x 开头的数据一般是十六进制数据。
uint8_t是 无符号 8 位整数,它存储的是 0 到 255 之间的数值。
2. 对数据取反
- 格式符
%x可以自动识别输入是否带有 0x 前缀。 - 运算符
~</

最低0.47元/天 解锁文章
3082

被折叠的 条评论
为什么被折叠?



