STM32使用HAL庫寫串列埠接收中斷

2021-09-12 17:54:26 字數 671 閱讀 2771

硬體:正點原子戰艦開發板(stm32f103zet6)

軟體:mdk5,stm32cubemx

下面講解使用hal庫配置串列埠1,使串列埠1可以使用中斷接收位元組並原樣返回。

uint8_t uart1_rxbuf[10]; // 用於存放接收到的資料

void mx_usart1_uart_init(void)

/* * 把全域性變數uart1_rxbuf[10]註冊到hal庫裡面去,接收中斷來臨的時候,hal庫會把

* 接收到的資料存入這個變數

*/hal_uart_receive_it(&huart1, uart1_rxbuf, 1); }/*

* 這個函式是乙個weak函式,hal庫接收到資料的時候會呼叫它,你可以重寫它,hal庫里

* 原本的它什麼也不做

*/void hal_uart_rxcpltcallback(uart_handletypedef *huart)

STM32使用HAL串列埠封裝printf

自己封裝乙個類似 printf 的函式 前提是已經可以實現串列埠傳送了 include include include uint32 t uart strlen uint8 t str return cnt void usart printf uint8 t usartport,char fmt,v...

STM32的HAL庫初體會

最近有個小專案,通過串列埠發命令來控制電路板上繼電器動作。板子上的晶元是stm32f030。這款晶元以前用過一次,但是還是不熟悉。選它的原因是功能夠用,而且便宜,比經常用的stm32f103便宜好多。後來一想,可以用hal庫試試。然後在cube軟體上稍微操作一下,生成的 直接能跑,串列埠收發資料都正...

STM32標準庫 05 用定時器寫通用串列埠接收

本篇文章主要介紹stm32串列埠接收不定長資料,採用比較通用的超時分包的方法,不依賴於空閒中斷 因為有些微控制器是沒有空閒中斷的 而是使用定時器判斷超時,希望能給人以收穫。使用mdk5.25版本,晶元包為stm32f4系列。開發板 stm32f407vgt6開發板,是一款大容量晶元,最高能跑168m...