STM32F4之USART 庫函式操作

2021-07-06 10:07:31 字數 1013 閱讀 5685

stm32f407xx內嵌四個通用同步/非同步接收器​​(usart1,usart2,usart3 和usart6)和兩個通用非同步收發器(uart4和uart5)。這6個介面提供非同步通訊的irdasir endec支援,多機通訊模式,單線半雙工通訊模式lin主/從功能。 usart1和usart6介面能夠速度高達10.5 mbit / s的通訊其他可用的介面通訊高達5.25bit/s。usart1,usart2,usart3和usart6還提供硬體管理的cts,rts訊號,智慧卡的模式(iso7816相容)和類似的spi通訊能力。所有介面都可以通過dma控制器。

這裡只使用了兩根線的最簡單串列埠設定。

硬體環境:stm32f4-discovery

軟體環境:mdk4.7a

實現的功能:1、串列埠初始化,

2、通過串列埠傳送資料

3、中斷方式接收資料,並將接收到的資料回送。

使用庫函式操作

首先,配置nvic使用nvic_prioritygroupconfig()設定優先順序分組,使用nvic_init()對nvic進行初始化

void nvic_config()

第二步:配置引腳功能,因為我的板子上pa9被用來驅動led了, 所以只能將將串列埠對映到pb6,pb7。這個設定跟f1系列的有點差別。首先初始化埠時鐘,第二配置埠引腳功能,第三不設定功能對映將串列埠連線到引腳。

void usart_gpio_config(void)

第三步:配置串列埠工作方式。步驟也差不多:開啟時鐘,用init函式初始化串列埠,設定串列埠的接收中斷,最後別忘了使能串列埠。

void usart_config(void)

第四步:新增串列埠中斷函式,函式名是固定的:void usart1_irqhandler(void)。中斷進入時候,先判斷接收暫存器是否有資料,有資料時候就接收,然後使用usart_senddata()將資料發回

void usart1_irqhandler(void)

//while(1);

}最後就是main了,沒啥可說的

int main(void)

stm32f4 定時捕獲

概述 1000hz 20 80 占空比現象 1000hz 51 58 占空比現象 關於本文的更多詳情請往下看。筆者針對於初學者提供的例程都是去掉了許多不必要的功能,精簡了官方的 對初學者一看就明白,以簡單明瞭的工程供大家學習。stm32f4 tim輸入波形捕獲 脈衝頻率 占空比 例項 訪問密碼 st...

STM32F4之GPIO的使用

上次學stm32f103是在大二的暑假,學了一段時間之後也沒有專案做,漸漸地就轉向其他的方向,最近實習要用到stm32f407,就打算從頭學,但是一些基礎還在,並決定將學習的過程記錄一下,以備使用。一.stm32f407zgt6的gpio資源介紹 stm32f407zgt6 一共有7組io口 每組i...

基於stm32f407建立stm32F427工程

分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...