码迷,mamicode.com
首页 > 其他好文 > 详细

STM32L0 HAL库 UART 串口读写功能

时间:2015-09-13 11:51:40      阅读:733      评论:0      收藏:0      [点我收藏+]

标签:

串口发送功能:

uint8_t TxData[10]= "01234abcde";
HAL_UART_Transmit(&huart2,TxData,10,0xffff);//把TxData的内容通过uart2发送出去,长度是10,timeout的时间是最大值0xffff

串口接收功能1:

uint8_t value=F;
HAL_UART_Receive(&huart2,(uint8_t *)&value,1,1000);//在这个语句停留1000ms内等待接收1个字节数据,把数据存放在value中

串口接收功能2:

HAL_UART_Receive_IT(&huart2,(uint8_t *)&value,1);//程序不会在这个语句停留,直接会按照中断方式把接收数据存放在value中,但是这个语句只能使能一次串口中断。所以要在中断服务函数中重新使能

串口接收功能3:

if(HAL_UART_Receive_IT(&huart2,(uint8_t *)&value,1) != HAL_OK){    //这一句写在main函数的while(1)上面。用于启动程序启动一次中断接收
        HAL_UART_Transmit(&huart2, (uint8_t *)&"ERROR\r\n",7,10);    
        while(1);
} 
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
{
    HAL_UART_Transmit(&huart2, (uint8_t *)&"\r\ninto HAL_UART_RxCpltCallback\r\n",32,0xffff);    //验证进入这个函数了
    HAL_UART_Transmit(&huart2,(uint8_t *)&value,1,0xffff);      //把接收到的数据通过串口发送出去        
    HAL_UART_Receive_IT(&huart2,(uint8_t *)&value,1);        //重新打开串口中断
}

 

STM32L0 HAL库 UART 串口读写功能

标签:

原文地址:http://www.cnblogs.com/Mysterious/p/4804188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!