|
本帖最后由 jacky401 于 2022-5-18 13:30 编辑
可参考如下代码:
- printf("\r\n *** weclome to Elec-Nest! ***\r\n");
- printf("请发送命令 LED_ON 或 LED_OFF: \r\n");
- HAL_UART_Transmit(&huart2,(uint8_t *)"32372E3036362E30",16,0xff); //发送模拟数据
- while(__HAL_UART_GET_FLAG(&huart2,UART_FLAG_TC)!=SET); //等待发送结束
- printf("\r\n"); //掺入换行
- HAL_Delay(1000);
- if(USART2_RX_STA&0x8000)
- {
- len = USART2_RX_STA&0x3FFF; //得到此次接收到的数据长度
- printf("\r\n 你发送的命令是: \r\n");
- HAL_UART_Transmit(&huart2,(uint8_t *)USART2_RX_BUF,len,0xff); //接收到的数据
- while(__HAL_UART_GET_FLAG(&huart2,UART_FLAG_TC)!=SET); //等待发送结束
- printf("\r\n"); //掺入换行
- USART2_RX_STA=0;
- if(strcmp((const char*)USART2_RX_BUF, "LED_ON") == 0)
- {
- HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
- }
- else if(strcmp(USART2_RX_BUF, "LED_OFF") == 0)
- {
- HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
- }
- }
复制代码
|
|