久久久国产精品视频袁燕,99re久久精品国产,亚洲欧美日韩国产综合v,天天躁夜夜躁狠狠久久,激情五月婷婷激情五月婷婷

小麥大叔
認(rèn)證:普通會員
所在專題目錄 查看專題
新手零基礎(chǔ)如何快速入門單片機(jī)
基于STM32的hello world點燈教程
STM32 使用st-link調(diào)試遇到寫保護(hù) Flash Timeout 問題的解決思路
天哪!原來PWM這么簡單
小小舵機(jī),大大玄機(jī)
UART協(xié)議快速掃盲(圖文并茂+超詳細(xì))
作者動態(tài) 更多
一款輕量級的開源GUI項目——SimpleGUI,可以完美適配單色屏
02-22 09:47
看到這100多個軟硬件開源項目,真是爽爆了
2024-11-30 14:12
推薦一個高效,可靠,安全的串口通訊開源方案
2024-11-27 11:17
推薦一款開源hack硬件平臺工具
2024-11-26 13:58
新手學(xué)STM32的話,先學(xué)標(biāo)準(zhǔn)庫還是HAL庫?
2024-10-18 15:09

基于STM32的hello world點燈教程

本文介紹了如何使用CubeMX配置生成代碼,成功給STM32開發(fā)板點燈,很基礎(chǔ),對新手友好;如果覺得不錯,歡迎關(guān)注、分享、收藏、點贊。希望能幫助到大家,如有錯誤敬請指出,謝謝!

1 前言

本文基于STSTM32F767ZI NUCLEO144開發(fā)板,結(jié)合CubeIDE的插件CubeMX配置生成代碼點亮板載的LED,點亮可謂是單片機(jī)開發(fā)中的hello world,非常簡單;

2 理論分析

2.1 LED 原理

發(fā)光二極管簡稱為LED,生活中幾乎無處不在,由含鎵(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。當(dāng)電子與空穴復(fù)合時能輻射出可見光,因而可以用來制成發(fā)光二極管。在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光,氮化鎵二極管發(fā)藍(lán)光。因化學(xué)性質(zhì)又分有機(jī)發(fā)光二極管OLED無機(jī)發(fā)光二極管LED^1

在這里插入圖片描述 LED是正向?qū)?,反向截止的,它在電路設(shè)計中的符號如下圖所示;

因此這里,有幾點簡單介紹一下:

  • ① 通常接電源正極;
  • ② 通常接地;
  • 確保流過電流在5mA-10mA

2.2 板載資料

上一篇文章寫到,如何快速構(gòu)建CubeIDE環(huán)境,另外我還整理了官方的資料,文檔都在這里,密碼: 1rjv,打開en.DM00244518.pdf,NUCLEO144的板載資源如下圖所示;

可以看到這里有三個用戶LED,下面就結(jié)合CubeIDE中的CubeMX插件配置生成相應(yīng)的代碼;

2.3 電路分析

解壓文件en.nucleo_144pins_sch.zip,打開原理圖的pdf文件MB1137.pdf;可以看到,Blue LEDRed LED,具體如下圖所示;

Green LED如下所示;

PP為推挽輸出;

3 CubeMX配置

打開CubeIDE,

3.1 SYS 配置

NUCLEO144板載一個ST-LINKV2,下載和調(diào)試程序的時候下面會用SWD模式,所以這里SYS的Debug選擇Serial Wire,具體如下圖所示;

3.2 GPIO 選擇

第一步: 在Pinout view的芯片試圖上找到所需要的Pin,本文使用了 PB14,PB7PB0,圖中找到PB7,并鼠標(biāo)點擊并彈出菜單;

第二步: 選擇GPIO的模式為GPIO_Output; 具體如下圖所示;

3.3 GPIO 配置

選擇了三個Pin,分別為PB14,PB7,PB0,全都配置為:

  • GPIO output level:初始化完成之后輸出的電平狀態(tài)為高;
  • GPIO mode:輸出模式為推挽輸出;
  • 上拉和下拉模式:這里暫不配置,沒有影響;

完成后如下圖所示;

4 程序生成

最終生成了配置代碼如下;

static void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOB_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();

  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_14|GPIO_PIN_7, GPIO_PIN_SET);

  /*Configure GPIO pins : PB0 PB14 PB7 */
  GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_14|GPIO_PIN_7;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

}

5 程序下載

NUCLEO144CN4CN6的跳帽設(shè)置為如下圖的狀態(tài),這樣就使用了板載的STLINK給板載的MCU下載固件;

進(jìn)入調(diào)試模式并開始運行,終于點亮了,具體如下圖所示;

6 總結(jié)

千里之行,始于點燈,后面還有很長的路要走,暫且先做個記錄。


聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 1
收藏 3
關(guān)注 145
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧