www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 緒論stm32的寄存器比較多,難于記憶,所以官方封裝了兩套庫(kù)函數(shù)。一個(gè)是標(biāo)準(zhǔn)庫(kù),不過在F7上官方?jīng)]有更新,以后可能不再維護(hù)了。另一個(gè)則是HAL庫(kù),HAL庫(kù)的程序可移植性比較高,而且基本上不用和寄存器打

緒論

stm32的寄存器比較多,難于記憶,所以官方封裝了兩套庫(kù)函數(shù)。一個(gè)是標(biāo)準(zhǔn)庫(kù),不過在F7上官方?jīng)]有更新,以后可能不再維護(hù)了。另一個(gè)則是HAL庫(kù),HAL庫(kù)的程序可移植性比較高,而且基本上不用和寄存器打交道,不懂硬件的小白也可以輕松學(xué)習(xí)。

由于用的正點(diǎn)原子的stm32F767,正點(diǎn)原子用的mdk5的方式新建工程,不是特別喜歡。加上現(xiàn)在關(guān)于HAL庫(kù)的中文資料較少,不過原子,野火,硬石,微雪而已。而用Cubemx來(lái)開發(fā)F7甚至關(guān)于stm32移植的更是少之又少。當(dāng)然折騰也是必不可少的了,我決定用stm32cubeMx + sw4stm32的方式開發(fā),由于技術(shù)不熟個(gè)別地方可能還是會(huì)用到mdk5,還望諒解。

下邊就詳細(xì)講解下關(guān)于stm32跑馬燈的程序:

首先軟件的安裝就不細(xì)說(shuō)了,百度上的資料也很全。

使能RCC及相應(yīng)GPIO

配置RCC,然后會(huì)發(fā)現(xiàn)相應(yīng)的引腳已經(jīng)高亮。

單擊LED燈的引腳,因?yàn)橐敵?,所以設(shè)置為output模式。

下面的已經(jīng)配置好的GPIO:

配置時(shí)鐘樹

點(diǎn)擊clock configuration
時(shí)鐘樹使用時(shí)要注意系統(tǒng)的主頻
F767是216M,其余單片機(jī)要靈活應(yīng)變。

使能GPIO

點(diǎn)擊configuration

點(diǎn)擊這里的GPIO,然后彈出下邊的界面。

這里設(shè)置標(biāo)簽一方面是代碼符合人類的思維方式,一方面方面不同單片機(jī)的移植。

都配置好之后,就可以生成工程了。點(diǎn)擊左上角的project—–settings,

然后點(diǎn)擊code gererarot,配置輸出的文件的格式和添加的庫(kù)文件。

點(diǎn)擊ok保存。然后下一步生成代碼,project –generator code就可以了。 generator report可以生成配置文件的文檔。先不介紹。

正在生成工程:

生成之后點(diǎn)擊open project:

這是生成的目錄樹:

下邊是工程中文件的生成:

/* Includes ------------------------------------------------------------------*/

#include "gpio.h"

/* USER CODE BEGIN 0 */


/* USER CODE END 0 */


/*----------------------------------------------------------------------------*/

/* Configure GPIO */

/*----------------------------------------------------------------------------*/

/* USER CODE BEGIN 1 */


/* USER CODE END 1 */


/** Configure pins as

* Analog

* Input

* Output

* EVENT_OUT

* EXTI

*/

void MX_GPIO_Init(void)

{


GPIO_InitTypeDef GPIO_InitStruct;


/* GPIO Ports Clock Enable */

__HAL_RCC_GPIOH_CLK_ENABLE();

__HAL_RCC_GPIOB_CLK_ENABLE();


/*Configure GPIO pin Output Level */

HAL_GPIO_WritePin(DS1_GPIO_Port, DS1_Pin, GPIO_PIN_SET);


/*Configure GPIO pin Output Level */

HAL_GPIO_WritePin(DS0_GPIO_Port, DS0_Pin, GPIO_PIN_RESET);


/*Configure GPIO pins : PBPin PBPin */

GPIO_InitStruct.Pin = DS1_Pin|DS0_Pin;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_InitStruct.Pull = GPIO_PULLUP;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;

HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

}

下邊看main.c

在主程序中添加如下代碼:

HAL_GPIO_WritePin(DS1_GPIO_Port, DS1_Pin, GPIO_PIN_SET);

HAL_GPIO_WritePin(DS0_GPIO_Port, DS0_Pin, GPIO_PIN_RESET);

HAL_Delay(500);

HAL_GPIO_WritePin(DS1_GPIO_Port, DS1_Pin, GPIO_PIN_RESET);

HAL_GPIO_WritePin(DS0_GPIO_Port, DS0_Pin, GPIO_PIN_SET);

HAL_Delay(500);

由于在新建工程的時(shí)候使用了標(biāo)簽,所以DS1_GPIO_Port就是原來(lái)的GPIOB,DS1就是GPIO_PIN_0,SET是置位,也就是高電平,RESET是復(fù)位,也就是低電平。

沒有標(biāo)簽的語(yǔ)句是這樣的:

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);

下面編譯,接著燒錄就好了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

銷售GG在工作群里:“弟兄們,快醒醒,咱現(xiàn)場(chǎng)的跑馬燈不跑了?!边€在加班的程序猿:“已經(jīng)查過了,程序沒Bug。”帶娃玩的硬件攻城獅:“硬件沒問題,這都是照官方Demo弄的。”刷劇的測(cè)試MM小聲嘀咕:“我可都是按用例測(cè)的,沒...

關(guān)鍵字: 跑馬燈

銷售GG在工作群里:“弟兄們,快醒醒,咱現(xiàn)場(chǎng)的跑馬燈不跑了?!边€在加班的程序猿:“已經(jīng)查過了,程序沒Bug。”帶娃玩的硬件攻城獅:“硬件沒問題,這都是照官方Demo弄的?!彼〉臏y(cè)試MM小聲嘀咕:“我可都是按用例測(cè)的,沒...

關(guān)鍵字: 跑馬燈

基于51單片機(jī)學(xué)習(xí)板。用S1鍵作為控制跑馬燈的方向按鍵,S5鍵作為控制跑馬燈方向的加速度按鍵,S9鍵作為控制跑馬燈方向的減速度按鍵,S13鍵作為控制跑馬燈方向的啟動(dòng)或者暫停按鍵。記得把輸出線P0.4一直輸出低電平,模擬獨(dú)...

關(guān)鍵字: 51單片機(jī) 數(shù)碼管顯示 跑馬燈

本節(jié)小項(xiàng)目,意在“人機(jī)界面”與“過程控制”如何關(guān)聯(lián)的練習(xí)。

關(guān)鍵字: 計(jì)數(shù)器 跑馬燈

跑馬燈/輸入輸出接口(片選地址74LS273)

關(guān)鍵字: 74ls273 片選地址 跑馬燈 輸入輸出接口

當(dāng)前開發(fā)單片機(jī)應(yīng)用系統(tǒng)程序主要應(yīng)用匯編語(yǔ)言和C51語(yǔ)言,采用匯編語(yǔ)言編寫可直接操縱系統(tǒng)的硬件資源,能編寫出高效運(yùn)行的程序代碼,程序運(yùn)行速度快。而采用C51語(yǔ)言編寫可改善程序的可讀性和可移植性,利于產(chǎn)品的更新?lián)Q代,大大加快...

關(guān)鍵字: C51 匯編語(yǔ)言 跑馬燈

一、跑馬燈和流水燈的區(qū)別好多人分不清跑馬燈和流水燈,還以為是同一種狀態(tài),雖然難度等級(jí)是一樣的,但是燈的亮滅顯示方式是不一樣的。請(qǐng)看下圖 二、單片機(jī)控制LED燈的常用電路接法弄清楚跑馬燈的顯示狀態(tài)后可以開始

關(guān)鍵字: 單片機(jī)控制 跑馬燈

我使用的是愛晶3ePIC實(shí)驗(yàn)板,以下都是自己寫的程序,只是為了紀(jì)念和學(xué)習(xí)交流使用,別無(wú)它意。在我的相冊(cè)里有板子的原理圖。跑馬燈實(shí)驗(yàn):程序://適合3epic實(shí)驗(yàn)板,是跑馬燈程序 #include unsigned...

關(guān)鍵字: 數(shù)碼管顯示 跑馬燈 pic入門

;NAME:跑馬燈;AUTOR:;CONTENT:P1.0~P1.7接發(fā)光二極管L1~L8    CSEGAT4000H;定義起始地址,為什么是4000H呢     ;存儲(chǔ)器:程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,達(dá)64K,板...

關(guān)鍵字: 跑馬燈 輸入輸出接口 片選地址 74ls273

#include #define uchar unsigned char#define uint unsigned int//延時(shí)子程序void mDelay(uchar Delay){ uchar i; for(;...

關(guān)鍵字: C51 單片機(jī) 編程入門 跑馬燈
關(guān)閉