硬體:正點原子戰艦開發板(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...