15 u8 USART1_RX_BUF[21]; 16 u8 USART1_RX_CNT=0; 17 18 void IWDG_Configuration(void); 19 20 void Usart1_Init(u32 bound) 21 { 22 //GPIO端口设置 23 GPIO_InitTypeDef GPIO_InitStructure; 24 USART_InitTypeDef USART_InitStructure; 25 NVIC_InitTypeDef NVIC_InitStructure; 26 27 RCC_APB2Peri...
81 u8 rxlen=USART2_RX_CNT; 82 u8 i=0; 83 delay_ms(10); //等待10ms,连续超过10ms没有接收到一个数据,则认为接收结束 84 while(rxlen!=USART2_RX_CNT) 85 { 86 rxlen=USART2_RX_CNT; 87 delay_ms(10); 88 } 89 for(i=0;i<(USART2_RX_CNT);i++) 90 { 91 buf[i] = USART2_...
[i]; 92 USART2_RX_BUF[i] = 0; 93 } 94 USART2_RX_CNT=0; //清零 95 96 } 97 98 void main(void) 99 { 100 Usart2_Init(9600);//串口1波特率设置为9600 101 while(1) 102 { 103 if(USART2_RX_STA)//数据接收完成 104 { 105 USART2_RX_STA=0; 106 //将接收到的数据发送出去 ...
GPIO_Mode_AF_PP;//复用推挽输出33GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.93435//USART1_RX GPIOA.10初始化36GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA1037GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入38GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA...
USART1_RX_CNT=0;//指针复位 91 //将接收到的数据发送出去 92 USART1_Send_Data(USART1_RX_BUF,21);//通过串口1将接收到的固定长度字符发送出去 93 } 94 } 95 96 } 97 /** 98 * 接收指定长度的字符串 99 * 比如接收固定大小为21个字节的字符串 ...
USART1_RX_HANDLE, USART1_RX_BUFFER, RX_DATA_LEN);USART_RX_CNT = RX_DATA_LEN;}//再次开启...
USART1_IRQHandler(void) //串口1中断服务程序{uint8_t Usart1_Rec_Cnt;if(USART_GetITStatus(US...
PC_RX_CNT = 0;HAL_UART_Receive_IT(&huart2, &Res, 1); // 开启接收中断 //中断程序 void ...
RX_BUF[21] ; 16 u8 USA RT1_ RX_CNT=0; 17 18 void IWDG_Configuration(void); 19 20 void Usart 1_ Init(u32 bound) 21 { 22 //GPIO端⼝设置 23 GPIO_ InitTypeDef GPIO_ InitStru ture; 24 USA RT_ InitTypeDef USA RT_ InitStru ture; 25 NV IC_ InitTypeDef NV IC_ InitStru ture; ...
ch = USART_ReceiveData(USART1);//将接收到的数据存在数组Usart1RecBuf[RxCounter]里 star_time = 1; //接受到一帧数据的时候,打开软件定时器,去计数 if(recv_cnt < MAX_REV_NUM)//数组长度是否超过缓存区 { recv_buf[recv_cnt] =ch;//将接收到的数据存在数组Usart1RecBuf[RxCounter]里 ...