国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32F103C8T6基礎開發(fā)教程(HAL庫)—點亮第一顆LED燈

這篇具有很好參考價值的文章主要介紹了STM32F103C8T6基礎開發(fā)教程(HAL庫)—點亮第一顆LED燈。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

STM32F103C8T6基礎開發(fā)教程目錄

  1. STM32F103C8T6基礎開發(fā)教程(HAL庫)—開發(fā)環(huán)境配置
  2. STM32F103C8T6基礎開發(fā)教程(HAL庫)—Keil添加注釋的快捷鍵
  3. STM32F103C8T6基礎開發(fā)教程(HAL庫)—點亮第一顆LED燈
  4. STM32F103C8T6基礎開發(fā)教程(HAL庫)—LED燈交替閃爍
  5. STM32F103C8T6基礎開發(fā)教程(HAL庫)—LED燈呼吸閃爍
  6. STM32F103C8T6基礎開發(fā)教程(HAL庫)—等級劃分LED燈亮度
  7. STM32F103C8T6基礎開發(fā)教程(HAL庫)—按鍵點亮LED燈
  8. STM32F103C8T6基礎開發(fā)教程(HAL庫)—定時器的使用
  9. STM32F103C8T6基礎開發(fā)教程(HAL庫)—串口發(fā)送與接收
  10. STM32F103C8T6基礎開發(fā)教程(HAL庫)—點亮OLED屏幕
  11. STM32F103C8T6基礎開發(fā)教程(HAL庫)—傳感器使用
  12. STM32F103C8T6基礎開發(fā)教程(HAL庫)—讀寫內部FALSH
  13. STM32F103C8T6基礎開發(fā)教程(HAL庫)—LORA點對點通信

STM32F103C8T6基礎開發(fā)教程(HAL庫)—點亮第一顆LED燈

本節(jié)內容

  • 點亮第一顆LED燈
  • 編譯并燒錄HEX文件

STM32F103C8T6開發(fā)板筆者選用筆者團體自行設計的最小系統(tǒng)開發(fā)板,以后的章節(jié)教程均采用TWRS103B-V1.3作為教學開發(fā)板,為了大家更好的快速入門,建議購買支持一下筆者,當然,如果自已手上也有其他STM32F103C68T也可以參考筆者教程進行學習,功能都是一樣的!

TWRS103B-V1.3最小系統(tǒng)開發(fā)板與傳統(tǒng)STM32F103C8T6最小系統(tǒng)開發(fā)板區(qū)別

TWRSTM32F103C8T6最小系統(tǒng)開發(fā)板 傳統(tǒng)STM32C8T6最小系統(tǒng)開發(fā)板
支持USB下載 不支持USB下載,需要下載器
PB5自帶WS2812可編程RGB彩燈 PC13自帶可編程普通LED燈
引出PD0、PD1 沒有引出PD0、PD1
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

本節(jié)內容要用到的材料

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

歡迎進入蒙學長小鋪進行采購:淘寶店傳送門
本文末尾處提供本節(jié)源碼下載(免費下載)

1.點亮第一顆LED燈

1)STM32CubeMX配置

上節(jié)已敘述了CubeMX生成第一個工程,本節(jié)將不再過多的贅述,配置LED燈輸出引腳即可。

(1)打開STM32CubeMX,單擊ACCESS TO MCU SELECTOR

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(2)CubeMX下完補丁包彈出芯片選擇界面,在Commercial搜索框輸入F103C8T6右下方會自動出現(xiàn)STM32F103C8T6,雙擊即可

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(3)進入配置界面后單擊System Core(系統(tǒng)的核心) → SYS → Debug → Serial Wire(這個是調試模式,如果不選Serial Wire則可能會使得無法使用Stlink或Jlink下載,如果你是用串口線下載,不調試,不選也沒關系),這時PA13與PA14被用來做調試的LCK和DIO口,如果引腳不夠用的情況可以不配置為LCK和DIO口,可以把PA13、PA14當做普通IO口使用(新手不建議)。

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(4)單擊System Core(系統(tǒng)的核心) → RCC(配置晶振) → High speed Clock(HSE)(高速晶振)→ Crystal/Ceramic Resonator(外部晶振,8M)(如果這里選Disable則無法使用外部高速晶振),這時PD0與PD1被用來做晶振的接口,如果不配置則可以把PD0、PD1當做普通IO口使用(新手建議跟著筆者還是進行配置)。

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(5)依次單擊Pinout & Configuration → System Core → GPIO →右邊的PB9(因為筆者LEDD燈接的PB9所以這里選PB9,讀者按照自己的要求自行設定) → GPIO_Output

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(6)設置好之后PB9變成綠色,跟著筆者繼續(xù)配置

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(7)單擊Clock Configuration在這里輸入72,按下回車 → OK,自動配置時鐘頻率為72Mhz

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
注:如果彈出這個窗口,不能使用72Mhz只能設置為64Mhz,那就是在RCC沒有配置外部高速晶振,回去配置即可,如果還不行,那就是芯片選錯了。
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(8)單擊Project Manager → Project ,配置準備要生成的工程

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(9)單擊Code Generator 單選Copy only the nacassary library files,勾選Generate peripheral…peripheral,上述的配置都設置好后就可以單擊右上角的GENERATE CODE生成工程了。

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(10)打開工程

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

1)Keli5編寫代碼

(1)打開工程后,進入Keli5軟件,依次打開工程結構樹,雙擊main.c開始寫源碼

切忌:一定要在BEGIN END里寫代碼,不然后面STM32CubeMX重新配置生成代碼會刪除BEGIN END外面的代碼
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(2)找到Drivers文件夾里的stm32f1xx_hal_gpio.c(雙擊打開),找到第465行的HAL_GPIO_WritrPin函數(shù),復制其函數(shù)名,并在main方法里的wihile(1)調用

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(3)把HAL_GPIO_WritrPin函數(shù)粘貼在,main方法里的wihile(1)

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(4)左上角編譯,0錯誤,0警告

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

2.程序燒錄

1)方式一(ST-LINK/V2)

(1)ST-LINK/V2

TWRSTM32F103C8T6最小系統(tǒng)開發(fā)板
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,armstm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
傳統(tǒng)STM32F103C8T6最小系統(tǒng)開發(fā)板
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,armstm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

由于筆者不太理解傳統(tǒng)STM32F103最小系統(tǒng)板為什么要把GND放在上面,交叉接線,每次接ST-LINK/V2的線都很繁瑣,所以筆者團隊按照ST-LINK/V2順序來設計,大大提高開發(fā)效率。

(2)安裝仿真器驅動

①本文末尾處下載并 解壓STM32仿真器驅動壓縮包stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
②右鍵此電腦→管理
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
③設備管理器→STLink→更新驅動程序
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
④瀏覽
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
⑤找到剛剛解壓的ST-LINK驅動
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
⑥下一步
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
⑦完成
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
⑧沒有感嘆號了stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(3)編譯燒錄程序

①F7編譯
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
0錯誤,0警告
②單擊魔法棒
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
③Debug→ST-Link Debugger→OK
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
④F8燒錄程序
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
⑤正在燒錄
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
④每次下載完之后按一次下開發(fā)板上的RES(復位按鍵)才能看到效果
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

實驗效果

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
LED亮起,實驗完成

  • 點亮第一顆LED燈
  • 編譯并燒錄HEX文件

2)方式二(串口下載)

(1)插上數(shù)據(jù)線

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(2)下載并解壓串口驅動

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(3)打開安裝串口驅動

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(4)安裝串口驅動

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(5)右鍵此電腦 → 管理 →設備管理器 → 端口(COM和LTP)識別到串口,證明已經(jīng)裝好了,并記住該串口號

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(6)下載并解壓FlyMcu

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(7)雙擊打開FlyMcu.exe

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(8)雙擊打開FlyMcu.exe → 搜索串口 → 把bps改為460800比特率

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(9)找到之前STM32CubeMX配置時的路徑,Demo → MDK-ARM → Demo → 打開Demo.hex

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(10)單擊開始變成,這時右邊顯示開始連接…

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(11)按下開發(fā)板上的RES和DOW

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

(12)程序下載,等待完成即可

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm

實驗效果

stm32f103c8t6編程教程,STM32F103C8T6開發(fā)教程,stm32,單片機,arm
LED亮起,實驗完成

  • 點亮第一顆LED燈
  • 編譯并燒錄HEX文件

本節(jié)主要代碼

/**
 * Main application entry point.
 */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
	
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
		//SET:置為高電平  RESET:置為低電平  
		//由于筆者是用LED的負極接到單片機,
		//所以這里要用高電平才能點亮
		
		HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);	
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

本節(jié)需掌握函數(shù)

HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);		//點亮LED
HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);		//熄滅LED

本節(jié)資源

百度網(wǎng)盤: 本節(jié)驅動及小工具
提取碼:RSXC
百度網(wǎng)盤: 本節(jié)源碼
提取碼:RSXC文章來源地址http://www.zghlxwxcb.cn/news/detail-801491.html

到了這里,關于STM32F103C8T6基礎開發(fā)教程(HAL庫)—點亮第一顆LED燈的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • STM32F103C8T6系統(tǒng)板

    STM32F103C8T6系統(tǒng)板

    1.電源部分 2.復位 3.晶振 4. 電源電路——防反接 有關二極管 漫談二極管防電源反接電路 本次采用上圖右下角的NMOS防反接電路。 電源電路——電源芯片 AMS1117是AMS公司的 ,LM1117是NS(美國國家半導體)的,LM1117要貴很多,所以一般的用AMS1117就可以了。 (以下分析參考STM32F10

    2024年02月02日
    瀏覽(20)
  • STM32F103C8T6板子介紹

    STM32F103C8T6板子介紹

    STM32簡介 STM32是ST公司基于ARM Cortex-M內核開發(fā)的32位微控制器 STM32常應用在嵌入式領域,如智能車、無人機、機器人、無線通信、物聯(lián)網(wǎng)、工業(yè)控制、娛樂電子產(chǎn)品等 STM32功能強大、性能優(yōu)異、片上資源豐富、功耗低,是一款經(jīng)典的嵌入式微控制器。 ?STM32F103C8T6 F1XX片上資源

    2024年02月11日
    瀏覽(22)
  • STM32F103C8T6移植FreeRTOS

    STM32F103C8T6移植FreeRTOS

    根據(jù)自己開發(fā)板型號下載地址:STM32相關內容下載地址 SDK直接下載地址:STM32直接下載地址 下載參考博客 FreeROTS下載地址 選用V9.0.0 版本 個人創(chuàng)建目錄如下,可做參考 keil目錄 鏈接頭文件 ? 修改堆棧大小 ? 修改中斷函數(shù)名 去掉stm32f10x_it.c終端函數(shù) 增加FreeRTOS中斷 特別解釋

    2024年02月12日
    瀏覽(23)
  • [STM32F103C8T6]ADC轉換

    [STM32F103C8T6]ADC轉換

    什么是ADC轉換? ADC轉換的全稱是: Analog-to-Digital Converter ,指模擬 / 數(shù)字轉換器 ADC的性能指標: ADC分辨率: SSA與VREF-一起接到地,DDA與VREF+接到3.3v,所以ADC轉換的范圍是0---3.3v 所以最后的ADC轉換值應該是我們的測量值*分辨率? ? 分辨率 = 3.3v/2^12 = (3.3/4096)? ?12位的轉換器所

    2024年02月06日
    瀏覽(26)
  • STM32F103C8T6 按鍵掃描輸入

    STM32F103C8T6 按鍵掃描輸入

    第一章 STM32F103C8T6 點亮LED燈 系列文章目錄 前言 一、原理 ?1.按鍵類型 ?2.按鍵消抖 3.IO口輸入配置 1)模擬輸出 2)浮空輸入模式 3)下拉輸入模式(PULL DOWN) 4)上拉輸入模式(PULL UP) 二、代碼部分 main.c key.c key.h 總結 ? ? ? ? 上一章我們成功入門了STM32F103C8T6,今天我們來

    2023年04月23日
    瀏覽(30)
  • STM32F103C8T6串口調試篇

    STM32F103C8T6串口調試篇

    項目開發(fā)中,當出現(xiàn)bug時,由于不知道某個變量的值,所以很難定位問題,針對此問題,串口調試脫穎而出。通過串口printf()實時將需要顯示的信息打印出來,這樣就很方便的定位問題。 串口設置方法 1.購買調試器pwlink2。參考STM32F103C8T6程序燒錄方法_stm32f103c8t6如何燒錄_流

    2024年02月12日
    瀏覽(23)
  • stm32f103c8t6的外部中斷

    stm32f103c8t6的外部中斷

    在單片機中存在著中斷系統(tǒng),這個系統(tǒng)的邏輯和功能在51單片機中已經(jīng)有所了解。 1.在32單片機中的內核有一個nvic 里面存放許多優(yōu)先級的設定,外接許多中斷源,比如“exti、tim、adc、usart等”接入之后,nvic再通過中斷優(yōu)先級進行排隊,再內接入cpu中進行處理,這樣子大大減少

    2024年02月09日
    瀏覽(30)
  • WS2812B彩燈 STM32HAL庫開發(fā):PWM+DMA(stm32f103c8t6)

    WS2812B彩燈 STM32HAL庫開發(fā):PWM+DMA(stm32f103c8t6)

    目錄 一、摘要 二、WS2812B介紹 三、CUBEMX配置 四、程序介紹(KEIL編譯器) 五、數(shù)據(jù)手冊 ? ? ? ? 1、本文使用示例單片機型號為 stm32f103c8t6 ,RGB型號為 WS2812B ; ????? ???2、主要實現(xiàn)功能是實現(xiàn)用 PWM+DMA 使RGB_LED亮起不同顏色的燈光; ????????3、目的:簡單調通該型號

    2024年02月03日
    瀏覽(16)
  • 自制STM32F103C8T6最小系統(tǒng)板

    自制STM32F103C8T6最小系統(tǒng)板

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 記錄自己繪制第一塊STM32F103C8T6最小系統(tǒng)板,包括原理圖的繪制,pcb圖的繪制和布局,以及器材的選購。 提示:有任何問題和交流可以加q:2874160799, 我基本上不看評論和私信。 根據(jù)ST官方手冊,查看引腳

    2024年02月07日
    瀏覽(24)
  • 嵌入式硬件——stm32F103C8T6

    嵌入式硬件——stm32F103C8T6

    如下圖:? ? 處理器核心:STM32F103C8T6內置了ARM Cortex-M3處理器,這是一種高性能、低功耗的32位RISC處理器,適用于嵌入式系統(tǒng)。 時鐘速度:它可以工作在不同的時鐘速度,最高主頻可達72 MHz。 存儲器:包括64KB的Flash程序存儲器用于存儲程序代碼,以及20KB的SRAM用于存儲數(shù)據(jù)和

    2024年02月05日
    瀏覽(125)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包