找到通信模块:Connectivity-USAPT1
改为异步通信模式:Asynchronous
PA9-USAPT1_RX接受
PA10-USAPT1_TX发送
开启NVIC中断
CubeMX配置完成
首先在中断函数里面写上接受字符的语句
char rxdata[30];//将每次接收到的字符存在改数组里面
uint8_t rxdat;//每次接受到的字符
char rx_pointer;//每次接受到的字符所存放的物理位置
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *hurat)
{
if(hurat->Instance==USART1)
{
rxdata[rx_pointer++]=rxdat;
HAL_UART_Receive_IT(&huart1,&rxdat,1);
}
}
然后将变量放到main.c成为全局变量
在主函数初始化的位置对串口进行初始化
HAL_UART_Receive_IT(&huart1,&rxdat,1);
//可以表示对串口接受的初始化,一次只能接受一个函数
单独写一个函数作为串口接受部分//串口接受处理函数
unsigned char isRxCplt()//判断接受数据是否合理
void Uart_Proc()//修改密码函数
主要的几个语句就是:
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *hurat)//串口中断回调函数
HAL_UART_Receive_IT(&huart1,&rxdat,1);//串口接受函数
sprintf(text,"Ok");//串口发送函数—有点像LCD显示
HAL_UART_Transmit(&huart1,(uint8_t *)text,strlen(text),50);串口发送函数