标签:信号 r++ 整数 图片 工作 ++ cts math 连接
串行通信通常用于连接两个距离较远的物理设备
串行通信最常用的通信标准是 RS232C
右边的为更常用的一种
一切数字电路都需要时钟脉冲的驱动才能工作,波特率与时钟输入信号频率的关系为
USARTDIV是一个无符号的定点数,在BRR寄存器中,第4~15位设置了该定点数的整数部分,0~3位设置了定点数的小数部分。
小数部分除上16加上整数部分就得到了定点数。
USART_Init(USARTx, USART_InitStructure*)
初始化USART模块
USART_Cmd(UASRTx, ENABLE)
使能USART
USART_SendData(USARTx, u8*);
发送数据
USART_GetFlagStatus(UASRTx, USART_FLAG_TXE)
获得相应位的值
省去麻烦的初始化配置代码
while (NumberOfDataToTransfer--) {
//这里可以看出每次发送数据只能发送一个字节
USART_SendData(USART2, TxBuffer[TxCounter++]);
//这里可以看出每次发送完一个字节后必须等到接收端将TXE RESET位拉低
while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
}
do {
if ((USART_GetFlagStatus(USART2, USART_FLAG_TXNE) != RESET) && (RxCounter < RxBufferSize)) {
RxBuffer[RxCounter] = USART_ReceiveData(USART2);
USART_SendData(USART2, RxBuffer[RxCounter++]);
}
} while ((RxBuffer[RxCounter-1] != ‘\r‘) && (RxCounter != RxBufferSize));
标签:信号 r++ 整数 图片 工作 ++ cts math 连接
原文地址:https://www.cnblogs.com/lunar-ubuntu/p/14162257.html