簡介
對之前串口基礎知識的補充
hal庫串口流程
一、定義一個UART_HandleTypeDef結構體句柄
二、通過HAL_UART_Msplnit函式來實作串口外設的底層初始化;
要做什么功能:
1、使能 UART 外設時鐘
2、配置 UART 使用的引腳模式
3、如果要用中斷,就配置中斷
4、如果要用DMA,就配置DMA
三、通過前面定義的結構體句柄,來配置串口的波特率,資料字長,停止位,奇偶校驗位,硬體流控制
四、通過呼叫HAL_UART_Init 函式,來將串口配置為異步模式
五、代碼詳解--串口回顯
1.串口發送
/***************** 發送字串 **********************/
void Usart_SendString(uint8_t *str)
{
unsigned int k=0;
do
{
HAL_UART_Transmit(&UartHandle,(uint8_t *)(str + k) ,1,1000);
k++;
} while(*(str + k)!='\0');
}
中斷處理
extern uint8_t Rxflag;
void DEBUG_USART_IRQHandler(void)
{
uint8_t ch=0;
if(__HAL_UART_GET_FLAG( &UartHandle, UART_FLAG_RXNE ) != RESET)
{
ch=( uint16_t)READ_REG(UartHandle.Instance->DR);
WRITE_REG(UartHandle.Instance->DR,ch);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294039.html
標籤:其他
上一篇:Day5:資料結構之佇列
下一篇:資料搬運工DMA
