这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » STM32G070RB探测8-串口点灯

共3条 1/1 1 跳转至

STM32G070RB探测8-串口点灯

高工
2020-12-26 01:10:18     打赏
日常继续点灯,这次我们用串口点灯,自己制定一个简单的协议,固定接收两个字符,收到"ON"开,收到"OF"关灯继续点

生成

撸程序关闭之前的定时器,因为定时器中断有开关灯程序使能串口中断接收
HAL_UART_Receive_IT(&huart2, (uint8_t*)recv_buf, 2);

打开接收中断,接收两个字节产生中断,将字节放进recv_buf数组里

编写接收中断回调函数
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
	if(huart ->Instance == USART2){
		if(recv_buf[0]=='O'){
			if(recv_buf[1]=='F'){
				HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_RESET);
				printf("LED_OFF\r\n");
			}
			else if(recv_buf[1]=='N'){
				HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_SET);
				printf("LED_ON\r\n");
			}
			else {
				printf("ERROR\r\n");
			}
		}
		else {
			printf("ERROR\r\n");
		}
		//重新使能串口接收中断
		HAL_UART_Receive_IT(&huart2, (uint8_t*)recv_buf, 2);
	}
}

然后编译烧录

看现象



高工
2020-12-27 23:06:47     打赏
2楼

感谢分享


高工
2021-02-11 19:02:42     打赏
3楼

谢谢分享。


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]