正点原子STM32cubeide学习——串口通信实验-轮询模式

使用的是正点原子的精英版,单片机STM32F103ZET6,本例程实现使用轮询的方式,实现串口的发送和接收数据。本套开发板上面已经板载了usb转ttl的模块,所以直接插上即可使用:

 

 

USART 同步异步收发器定义:是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从TX引脚发送出出去,也可以自动接收RX引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器中。

了解原理之后我们复制上节课中断实验代码 ,复制上一章代码,打开图形化配置 ,按照图片进行配置,然后生成代码即可

 

 在主函数中添加以下代码

int main(void)
{

  /* USER CODE BEGIN 1 */
	uint8_t revbuf[6];//定义接受变量6个字节
  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  //当接受到6个字节之后执行电平翻转然后将接受的字节发送到串口上
	  HAL_UART_Receive(&huart1, revbuf, sizeof(revbuf), HAL_MAX_DELAY);//串口接收函数
	  LED0_TOGGLE();//LED0电平翻转
	  HAL_UART_Transmit(&huart1, revbuf, sizeof(revbuf), 1000);//串口发送函数
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 编译下载,打开串口软件按照以下步骤配置好之后,随便输入6个字节,当接受到6个字节之后执行电平翻转,然后将接受的字节发送到串口上。

 

 即可实现使用轮询的方式,实现串口的发送和接收数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值