用HAL库改写江科大的stm32入门例子_9-1 串口发送接收

 

设置串口:

 选项说明:

写一个串口发送函数:

// serial send string function
void serial_send_string(char *str)
{
  HAL_UART_Transmit(&huart1, (uint8_t *)str, strlen(str), 1000);
}

 main函数中调用发送信息:

  uint8_t data;
  data = 0x41;
  HAL_UART_Transmit(&huart1, &data, 1, 1000);
  uint8_t MyArray[] = {0x42, 0x43, 0x44, 0x45};	//瀹氫箟鏁扮粍
  HAL_UART_Transmit(&huart1, MyArray, sizeof(MyArray), 1000);	//鍙戦?佹暟缁?

  // send string \r\nNum1=1234, Num2=5678
  char str[] = "\r\nNum1=1234, Num2";
  serial_send_string(str);
	
		char String[100];					//定义字符数组
	sprintf(String, "\r\nNum3=%d", 333);//使用sprintf,把格式化字符串打印到字符数组
	serial_send_string(String);			//串口发送字符数组(字符串)

效果:

 如果用正点原子精英板:

所有步骤几乎和上面一样:就是芯片选择不太一样:

值得注意的是由于这个板子内置了usb转串口功能,插上线就可以了; 但可能发生无法识别端口的问题:

网上这类问题解决办法比较多,不在次赘述。

循环发送数据的代码如下:

ps:串口注意设置为可收发的模式。

  while (1)
  {

      // receive data from UART1
      HAL_UART_Receive(&huart1, reciveData, 2, 1000);
      // send data to UART1
      HAL_UART_Transmit(&huart1, reciveData, 2, 1000);
      // send data to UART1
      //delay 1s
      HAL_Delay(1000);

	
    /* USER CODE END WHILE */

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值