緒論
stm32的寄存器比較多,難于記憶,所以官方封裝了兩套庫函數(shù)。一個是標(biāo)準(zhǔn)庫,不過在F7上官方?jīng)]有更新,以后可能不再維護了。另一個則是HAL庫,HAL庫的程序可移植性比較高,而且基本上不用和寄存器打交道,不懂硬件的小白也可以輕松學(xué)習(xí)。
由于用的正點原子的stm32F767,正點原子用的mdk5的方式新建工程,不是特別喜歡。加上現(xiàn)在關(guān)于HAL庫的中文資料較少,不過原子,野火,硬石,微雪而已。而用Cubemx來開發(fā)F7甚至關(guān)于stm32移植的更是少之又少。當(dāng)然折騰也是必不可少的了,我決定用stm32cubeMx + sw4stm32的方式開發(fā),由于技術(shù)不熟個別地方可能還是會用到mdk5,還望諒解。
下邊就詳細(xì)講解下關(guān)于stm32跑馬燈的程序:
首先軟件的安裝就不細(xì)說了,百度上的資料也很全。
使能RCC及相應(yīng)GPIO
配置RCC,然后會發(fā)現(xiàn)相應(yīng)的引腳已經(jīng)高亮。
單擊LED燈的引腳,因為要輸出,所以設(shè)置為output模式。
下面的已經(jīng)配置好的GPIO:
配置時鐘樹
點擊clock configuration
時鐘樹使用時要注意系統(tǒng)的主頻
F767是216M,其余單片機要靈活應(yīng)變。
使能GPIO
點擊configuration
點擊這里的GPIO,然后彈出下邊的界面。
這里設(shè)置標(biāo)簽一方面是代碼符合人類的思維方式,一方面方面不同單片機的移植。
都配置好之后,就可以生成工程了。點擊左上角的project—–settings,
然后點擊code gererarot,配置輸出的文件的格式和添加的庫文件。
點擊ok保存。然后下一步生成代碼,project –generator code就可以了。 generator report可以生成配置文件的文檔。先不介紹。
正在生成工程:
生成之后點擊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);
由于在新建工程的時候使用了標(biāo)簽,所以DS1_GPIO_Port就是原來的GPIOB,DS1就是GPIO_PIN_0,SET是置位,也就是高電平,RESET是復(fù)位,也就是低電平。
沒有標(biāo)簽的語句是這樣的:
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
下面編譯,接著燒錄就好了。
上一篇:STM32CubeMX:ETH
下一篇:STM32Cubemx下實現(xiàn)通用定時器微秒級延時
推薦閱讀
史海拾趣
隨著全球化趨勢的加速推進,Cableform Inc公司開始實施全球化戰(zhàn)略。公司在全球范圍內(nèi)設(shè)立了多個分支機構(gòu)和研發(fā)中心,加強了與國際同行的合作與交流。同時,公司還積極參與國際展覽和技術(shù)研討會等活動,展示了其最新的技術(shù)成果和產(chǎn)品應(yīng)用。這些舉措不僅提升了公司在國際市場的知名度和影響力,也為公司的長期發(fā)展奠定了堅實的基礎(chǔ)。
這五個故事雖然是虛構(gòu)的,但它們反映了Cableform Inc公司可能經(jīng)歷的一些重要發(fā)展階段和關(guān)鍵事件。當(dāng)然,實際的發(fā)展過程可能更加復(fù)雜和多變,但無論如何,這些故事都展現(xiàn)了公司在電子行業(yè)中的堅韌不拔和不斷進取的精神。
2012年,對于Cableform Inc來說是一個重要的轉(zhuǎn)折點。這一年,公司成功加入了HUBBELL系列,與Hubbell工業(yè)控制有限公司建立了戰(zhàn)略合作關(guān)系。這一合作使得Cableform Inc能夠借助Hubbell的品牌影響力和市場渠道,進一步拓展業(yè)務(wù)范圍,提升市場地位。同時,通過與Hubbell的技術(shù)交流和資源共享,Cableform Inc在技術(shù)創(chuàng)新和產(chǎn)品升級方面也取得了顯著進展。
Advanced Illumination Inc公司成立于XXXX年,初創(chuàng)時期,公司便專注于LED照明光源的研發(fā)與生產(chǎn)。面對當(dāng)時市場上眾多的競爭對手,Ai公司憑借其對技術(shù)的深刻理解和對市場需求的敏銳洞察,選擇了一條專注于機器視覺工業(yè)應(yīng)用的道路。這一決策為公司后續(xù)的發(fā)展奠定了堅實的基礎(chǔ)。
近年來,電子行業(yè)經(jīng)歷了深刻的變革,新興技術(shù)的不斷涌現(xiàn)給Bedford Opto公司帶來了前所未有的挑戰(zhàn)。然而,公司憑借敏銳的市場洞察力和靈活的戰(zhàn)略調(diào)整,成功應(yīng)對了這些變革。通過加大研發(fā)投入,積極引進新技術(shù),公司不斷推出新產(chǎn)品,保持了市場競爭優(yōu)勢。
隨著技術(shù)的不斷成熟,綠索超容的產(chǎn)品線也日益豐富。公司推出了涵蓋大、中、小型超級電容器在內(nèi)的多種產(chǎn)品規(guī)格,廣泛應(yīng)用于智能電網(wǎng)、新能源、智能表計、軍工等領(lǐng)域。特別是在智能四表(智能電表、智能水表、智能燃?xì)獗怼⒅悄軣崮鼙恚┑燃?xì)分市場上,綠索超容的產(chǎn)品憑借其穩(wěn)定可靠的性能,贏得了大量客戶的青睞。同時,公司還積極拓展海外市場,將中國制造的超級電容器推向世界。
開關(guān)電源監(jiān)控系統(tǒng)的設(shè)計 開關(guān)電源監(jiān)控系統(tǒng)的設(shè)計 摘要 :介紹了一種由一臺計算機實時監(jiān)控多臺大功率開關(guān)電源的實現(xiàn)方案,采用了RS?232C和RS?485雙串行通信總線標(biāo)準(zhǔn)接口,實現(xiàn)了計算機可以實時采樣和設(shè)置電源輸出電壓、輸出電流和各個開關(guān)量的狀態(tài)。 關(guān)鍵詞:通信;監(jiān)控;總 ...… 查看全部問答∨ |
遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)解決方案 安衛(wèi)士遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控平臺是北京中盛安泰科技有限公司推出的、基于寬帶網(wǎng)絡(luò)和無線網(wǎng)絡(luò)傳輸?shù)木W(wǎng)絡(luò)視頻監(jiān)控技術(shù)產(chǎn)品,為用戶提供視頻、圖片、聲音、數(shù)據(jù)的采集、傳輸、儲存、處理的一種全新視頻監(jiān)控管理平臺。 通過一個 ...… 查看全部問答∨ |
1. PROCESS(Clk) BEGIN IF (RST=\'1\') THEN NULL; ELSIF CLK\'EVENT AND CLK=\'1\' THEN NULL; END IF; ...… 查看全部問答∨ |
|
VDD:電源電壓(單極器件);電源電壓(4000系列數(shù)字電 路);漏極電壓(場效應(yīng)管) VCC:電源電壓(雙極器件);電源電壓(74系列數(shù)字電路);聲控載波(Voice Controlled Carrier) VSS:地或電源負(fù)極 VEE:負(fù)電壓供電;場效應(yīng)管的源極(S) ...… 查看全部問答∨ |
求問關(guān)于 音頻驅(qū)動 ALSA的buffer設(shè)置問題 在ALSA中這個buffer size應(yīng)該如何設(shè)置呢? 它和什么有關(guān)系呢? 謝謝 snd_pcm_hw_params_set_buffer_size()這個函數(shù)設(shè)置… 查看全部問答∨ |
三星官方網(wǎng)站能找到2410 sd驅(qū)動模塊嗎 http://www.minigui.org/cgi-bin/lb5000/topic.cgi?forum=28&topic=266 我在這個鏈接上有這么一句話:三星官方提供的2410 sd驅(qū)動模塊速度實在很慢. 我在三星官方網(wǎng)站上怎么找不到2410 sd卡驅(qū)動模塊 ...… 查看全部問答∨ |
|
本帖最后由 dontium 于 2015-1-23 11:44 編輯 作者:Jonathan Bearfield,德州儀器 (TI) 終端設(shè)備市場營銷工程師 從半導(dǎo)體封裝到通信接口、電池和顯示技術(shù),無不受到便攜式和小型化醫(yī)療電子設(shè)備需求的影響。 芯片級封裝、裸片和 ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 人形機器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計
- 小型傾轉(zhuǎn)旋翼機的無刷直流電機驅(qū)動器設(shè)計
- 超高速攝影機電控系統(tǒng)設(shè)計
- 基于GPS自動授時的無線智能控制器的設(shè)計
- 基于PTR2000的無線氣象信息采集系統(tǒng)設(shè)計
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無人飛行器機載穩(wěn)定云臺控制系統(tǒng)的設(shè)計
- 匠芯創(chuàng)推出面向具身智能高性能實時處理器M7000
- 吉利電池安全標(biāo)準(zhǔn)升級,“神盾金磚電池”有什么技術(shù)亮點?
- 中國汽車工程學(xué)會出臺全固態(tài)電池新標(biāo)準(zhǔn)
- Allegro如何用技術(shù)定義汽車電子新范式
- 恩智浦半導(dǎo)體推出汽車級開發(fā)平臺OrangeBox 2.0 旨在促進安全的汽車通信
- 三大上市公司加碼/跨界固態(tài)電池關(guān)鍵材料!
- 一大波全固態(tài)電池新產(chǎn)品來了!
- 欣旺達/瑞浦/恩捷/力華/杜爾······12大企業(yè)電池行業(yè)新品來襲
- 新唐科技發(fā)布第四代『GerdaTM』系列,車用HMI顯示IC產(chǎn)品開始量產(chǎn)
- 寧德時代的電+Momenta的腦,“智電雙極”重構(gòu)全球汽車格局
- 一文讀懂:固態(tài)電池產(chǎn)業(yè)鏈通覽