STMCubeMX配置STM32F103ZET6

1 配置時鐘

配置RCC。
在這里插入圖片描述

配置 SYS。將Timebase Source配置為TIM1, SysTick留給FreeRTOS用。
在這里插入圖片描述
注意: 由于第一次配置的時候忘記配置這個步驟,導致工程第一次燒錄成功后,后面一直無法燒錄,報以下錯誤:
keil no target connect
Error: Flash Download failed - Target DLL has been cancelled

解決方案:BOOT0拉高, BOOT1拉低,重新上電燒錄,燒錄成功后斷電,再把BOOT0拉低,之后就可以重新燒錄了。

配置系統時鐘。
在這里插入圖片描述

2 配置GPIO

配置控制 LED 的GPIO.
LED_R – PB0: GPIO_Output
LED_G – PB1: GPIO_Output
LED_B – PB5: GPIO_Output
在這里插入圖片描述
鼠標左鍵點擊對應的引腳,選擇 GPIO_Output.

在這里插入圖片描述
所有GPIO輸出默認電平為高,推挽輸出,帶上拉,低速。因為LED另一端連接3.3V電源,所以配置為高電平,默認不點亮LED。

流水燈代碼:

  uint16_t time = 100;HAL_GPIO_WritePin(GPIOB, LED_R_Pin, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOB, LED_G_Pin, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOB, LED_B_Pin, GPIO_PIN_SET);HAL_Delay(time);HAL_GPIO_WritePin(GPIOB, LED_R_Pin, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOB, LED_G_Pin, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOB, LED_B_Pin, GPIO_PIN_SET);HAL_Delay(time);HAL_GPIO_WritePin(GPIOB, LED_R_Pin, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOB, LED_G_Pin, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOB, LED_B_Pin, GPIO_PIN_RESET);HAL_Delay(time);

3 配置按鍵

3.1 輪詢方式

Key1 – PA0
Key2 – PG15
Key3 – PC13
Key4 – PE3
在這里插入圖片描述

int keyPoll(void)
{if (HAL_GPIO_ReadPin(KEY1_UP_GPIO_Port, KEY1_UP_Pin) == GPIO_PIN_RESET) {HAL_Delay(5); //延時 5ms, 按鍵消抖 if(HAL_GPIO_ReadPin(KEY1_UP_GPIO_Port, KEY1_UP_Pin) == GPIO_PIN_RESET) {printf("KEY1_UP is pressed\r\n"); } }if (HAL_GPIO_ReadPin(KEY2_DOWN_GPIO_Port, KEY2_DOWN_Pin) == GPIO_PIN_RESET) {HAL_Delay(5);if(HAL_GPIO_ReadPin(KEY2_DOWN_GPIO_Port, KEY2_DOWN_Pin) == GPIO_PIN_RESET) {printf("KEY1_DOWN is pressed\r\n"); }}if (HAL_GPIO_ReadPin(KEY3_LEFT_GPIO_Port, KEY3_LEFT_Pin) == GPIO_PIN_RESET) {HAL_Delay(5);if(HAL_GPIO_ReadPin(KEY3_LEFT_GPIO_Port, KEY3_LEFT_Pin) == GPIO_PIN_RESET) {printf("KEY1_LEFT is pressed\r\n"); }}if (HAL_GPIO_ReadPin(KEY4_RIGHT_GPIO_Port, KEY4_RIGHT_Pin) == GPIO_PIN_RESET) {HAL_Delay(5);if(

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66644.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66644.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66644.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OFD 套版生成原理與 C# 實現詳解

1. 引言 OFD(Open Fixed-layout Document)是一種基于 XML 的開放版式文檔格式,主要用于電子文檔的存儲和交換。與 PDF 類似,OFD 是一種固定版式文檔格式,能夠確保文檔在不同設備和平臺上顯示的一致性。OFD 格式廣泛應…

Leetcode:2239

1,題目 2,思路 循環遍歷滿足條件就記錄,最后返回結果值 3,代碼 public class Leetcode2239 {public static void main(String[] args) {System.out.println(new Solution2239().findClosestNumber(new int[]{-4, -2, 1, 4, 8})…

C語言之斗地主游戲

🌟 嗨,我是LucianaiB! 🌍 總有人間一兩風,填我十萬八千夢。 🚀 路漫漫其修遠兮,吾將上下而求索。 ? C語言之斗地主游戲 目錄 程序概述程序設計 Card類CardGroup類Player類LastCards類Land…

python編程-OpenCV(圖像讀寫-圖像處理-圖像濾波-角點檢測-邊緣檢測)圖像變換

形態變換 圖像處理中的形態學操作是處理圖像結構的有效方法。以下是一些常見的形態學操作的介紹及其在 OpenCV 中的實現示例。 1. 腐蝕(Erosion) 腐蝕操作通過消除圖像邊界來減少圖像中的白色區域(前景),使物體的邊…

【Prometheus】PromQL進階用法

?? 歡迎大家來到景天科技苑?? 🎈🎈 養成好習慣,先贊后看哦~🎈🎈 🏆 作者簡介:景天科技苑 🏆《頭銜》:大廠架構師,華為云開發者社區專家博主,…

SiamCAR(2019CVPR):用于視覺跟蹤的Siamese全卷積分類和回歸網絡

原文標題:SiamCAR: Siamese Fully Convolutional Classification and Regression for Visual Tracking 中文標題:SiamCAR:用于視覺跟蹤的Siamese全卷積分類和回歸 代碼地址: https://github.com/ohhhyeahhh/SiamCAR Abstract 通過將視覺跟蹤任務分解為兩個子問題,…

計算機網絡介質訪問控制全攻略:從信道劃分到協議詳解!!!

一、信道劃分介質訪問控制 介質訪問控制:多個節點共享同一個“總線型”廣播信道時,可能發生“信號沖突” 應該怎么控制各節點對傳輸介質的訪問,才能減少沖突,甚至避免沖突? 時分復用(TDM) 時分復用:將時間分為等長的“…

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm監控配置

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm監控配置 1.Prometheus部署1.2.Prometheus修改默認端口 2.grafana可視化頁面部署3.alertmanager部署4.監控配置4.1.主機監控node-exporter4.2.監控mysql數據庫mysqld_exporter4.3.監控mongod數據庫mongodb_expo…

基于tldextract提取URL里的子域名、主域名、頂級域

TLD是TopLevel Domain的縮寫。?tldextract? 是一個用于從URL中提取子域、主域名和頂級域(TLD)的Python庫。它利用公共后綴列表(Public Suffix List)來確保即使是復雜或不常見的URL結構也能被正確解析。tldextract能夠處理包括IC…

常見Arthas命令與實踐

Arthas 官網:https://arthas.aliyun.com/doc/,官方文檔對 Arthas 的每個命令都做出了介紹和解釋,并且還有在線教程,方便學習和熟悉命令。 Arthas Idea 的 IDEA 插件。 這是一款能快速生成 Arthas命令的插件,可快速生成…

Mellanox ConnectX 系列網卡的雙驅動架構:以太網與 InfiniBand 的協同設計

在現代數據中心和高性能計算(HPC)環境中,網絡硬件的性能和功能至關重要。Mellanox ConnectX 系列網卡以其卓越的性能和多功能性而聞名,支持從傳統的以太網到高性能的 InfiniBand 網絡協議。這種多功能性使得 Mellanox 網卡能夠滿足不同應用場景的需求,從常規的數據中心網絡…

win32匯編環境,對多行編輯框添加或刪除文本

;運行效果 ;win32匯編環境,對多行編輯框添加或刪除文本 ;主要要先設置文本的開始點與結束點,然后把一段文本頂替上去。沒有添加文本或刪除文本的概念,只有頂替。如果開始點與結束點都是前面文本的長度值,則成了從后面添加文本的效果。如果結束…

CSDN年度回顧:技術征途上的堅實步伐

嘿,時光過得可真快呀,就像那匹跑得飛快的白馬,嗖的一下,2024 年的日歷就這么悄無聲息地翻到了最后一頁。這會兒我回頭看看在 CSDN 上度過的這一年,心里那叫一個感慨萬千,滿滿的都是喜悅,就像心里…

泛型子類使用Builder提示:both methods have same erasure, yet neither hides the other

父類 Data Builder AllArgsConstructor NoArgsConstructor public class ParentClass {public String name; } 子類 AllArgsConstructor NoArgsConstructor Data SuperBuilder public class ChildClass<T> extends ParentClass {private T value; } 提示錯誤 builde…

Springboot集成Elasticsearch8.0(ES)版本,采用JAVA Client方式進行連接和實現CRUD操作

本文章介紹了 springboot t集成Elasticsearch8.0(ES)版本,如何通過 AVA Client方式進行連接和實現CRUD操作 在ES7.15版本之后,ES官方將高級客戶端 RestHighLevelClient標記為棄用狀態。同時推出了全新的 Java API客戶端 Elasticsearch Java API Client,該客戶端也將在 Ela…

人臉識別打卡系統--基于QT(附源碼)

逃離舒適區 項目源代碼放在我的倉庫中&#xff0c;有需要自取 項目地址 https://gitcode.com/hujiahangdewa/Face_recognition.git 文章目錄 一、項目結構分析二、服務器的搭建三、客戶端的搭建四、人臉識別庫的申請五、基于人臉識別庫的識別判斷六、QT人臉識別----調用百度ai…

人工智能在數字化轉型中的角色:從數據分析到智能決策

引言 在數字化轉型浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;正迅速崛起&#xff0c;成為推動企業創新和變革的關鍵力量。面對日益復雜的市場環境和激烈的行業競爭&#xff0c;企業亟需借助技術手段提高運營效率、優化決策過程&#xff0c;并增強市場競爭力。而AI…

react install

react 安裝 React 是一個用于構建用戶界面的 JavaScript 庫。以下是安裝 React 的步驟&#xff1a; 使用 Create React App Create React App 是一個官方支持的命令行工具&#xff0c;用于快速搭建 React 應用。 安裝 Node.js 和 npm 確保你的計算機上安裝了 Node.js 和 npm…

Android系統開發(二十):字體活起來,安卓自定義字體改造指南

為什么要寫這篇文章&#xff1f; 你是否厭倦了千篇一律的安卓默認字體&#xff1f;想讓你的設備從“乏味的配角”變成“炫酷的主角”&#xff1f;好消息&#xff01;從Android 12到Android 15&#xff0c;自定義字體變得更簡單、更強大。尤其是表情字體的更新&#xff0c;不僅…

django使用踩坑經歷

DRF 使用drf獲取序列化后的id visitor_serializer VisitorSaveSerializer(data{…}) if visitor_serializer.is_valid():visitor visitor_serializer.save() visitor_id visitor.pkpostgrepsql踩坑 django使用postgrepsql&#xff0c;使用聚合函數如:sum 等&#xff0c;被…