STM32CubeMX学习笔记之二——USART串口调试

1、使用STM32cube配置好USART
2、用到的收发函数
HAL_UART_Receive_IT(&huart1,&Re_date,1);
HAL_UART_Transmit(&huart1,&Re_date_try[i],1,1000);
3、基本思想就是先定义一个变量,把接收到的数给这个变量Re_date,然后把这个变量再放到数组Re_array[i]里,利用查询的方式发送
下面说一下我的详细步步骤

步骤1:
在pubilc.c中声明(pubilc.c和pubilc.h是我自己的头文件和源文件以后有时间我会写一篇建工程的)

uint8_t Re_date=0;//要接受的数据
uint8_t Re_count=0;//用来计数
uint8_t Re_array[10];//存放数据的数组

在public.h中声明 extern uint8_t Re_date;
步骤2:
在public.c中编写CALLBACK函数

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  if(Re_count<10)//10代表的是容量
 {
  Re_array[Re_count]=Re_date;//把数据依次存放到数组中
 Re_count++;
 }
 else
 {
  Re_count=0;//超过10了就为0不再存放
 }
 HAL_UART_Receive_IT(&huart1,&Re_date,1);
}

步骤3:
接着再public.c中写发送函数

void BSP_USART_Tx_date(void)
{
    uint8_t i=0;
    if(Re_count>0)
  {
   HAL_Delay(20);
   for(i=0;i

在public.h中声明 void BSP_USART_Tx_date(void);

记住一定要加 HAL_Delay(20),也可以不加试试现象。
步骤4:
再main.c中开启中断,和查询

main()
{
  HAL_UART_Receive_IT(&huart1,&Re_date,1);//类似开启和触发中断
while(1)
{
 BSP_USART_Tx_date();//发送数据
}
}

下面是现象:STM32CubeMX学习笔记之二——USART串口调试_第1张图片

波特率、数据位、停止位、都要和建工程时的参数相匹配。
声明:本人小白一个,从0学起,有不对的地方还请指正,也希望志同道合之人共同交流

你可能感兴趣的:(STM32,STM32CubeMX)