您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何用庫操作串口UART,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
HAL庫里面對應每個硬件模塊有兩個函數 例如:
HAL_UART_Init( ) 功能上的描述:設置收發模式、奇偶校驗位、停止位數等等(與芯片無關)。
typedef struct __MY_TypeDef
{
uint8_t Var1;
uint8_t Var2;
uint16_t Var3;
uint8_t* Var4;
}MY_TypeDef;
MY_TypeDef* MY_VAR;
* MY_VAR->Var4 的值是 0x02。
與此類似,對于串口模塊,驅動定義了一個結構體類型 UART_HandleTypeDef,我們可以用這個類型定義多個結構體,并通過把串口模塊寄存器區的起始地址付給一個結構體,使該結構體和串口之間建立起聯系:
我們運行的當前程序操作串口的方式為查詢(polling)方式,結構體中和DMA,中斷方式相關的內容可以先忽略,只需要關注結構體中下面這些成員即可:
USART_TypeDef *Instance;
UART_InitTypeDef Init;
UART_AdvFeatureInitTypeDef AdvancedInit;
HAL_UART_Transmit(&UartHandle, (uint8_t*)aTxBuffer, TXBUFFERSIZE, 5000);
需要提到的是,在M0芯片內,有一些共享的或系統級的硬件模塊不使用 Handle 的方式來處理:
GPIO
SYSTICK
NVIC
PWR
RCC
FLASH.
上述就是小編為大家分享的如何用庫操作串口UART了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。