藍橋杯嵌入式賽道復習筆記1(led點亮)

前言

基礎的文件創建,參賽資源代碼的導入,我就不說了,直接說CubeMX的配置以及代碼邏輯思路的書寫,在此我也預祝大家人人拿國獎

理論講解

原理圖簡介

?1.由于存在PC8引腳到PC15引腳存在沖突,那么官方硬件給的解決方案是加入了一個PD2鎖存器,但是有這個是遠遠不夠的,如果想要解決,可以在LED筆記那里觀看解決

2.LED只有設置為低電壓時才可以讓我們的燈泡亮

手冊講解

在你學習的時候可能出現以下情況

HAL_GPIO_WritePin(GPIOC,0xFF00, GPIO_PIN_RESET);

這個就要追溯到我們的底層代碼去了解一下HAL_GPIO_WritePin

當設置為SET時

?

當設置為RESET時

現在我可以給你個式例?

#include  "led_test.h"
//uwTick
uint32_t count;
uint32_t PIN=0xFF00;void led_start(){count=uwTick;while(uwTick<count+1000){}HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,PIN, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_RESET);count=uwTick;while(uwTick<count+1000){}HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,PIN, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_RESET);
}

實戰代碼

CubeMX的配置

第1步

第2步

Debug配置成Serial Wire(SWD)的原因主要有以下幾點:

  1. 引腳數量少:SWD是一種雙線協議,只需要使用兩個引腳(SWDIO和SWCLK),相比JTAG等其他調試接口,占用的引腳數量更少,適合引腳資源有限的場景。

  2. 可靠性高:在高速模式下,SWD比JTAG更加可靠。在大數據量的情況下,JTAG下載程序可能會失敗,而SWD發生的幾率會小很多。

  3. 下載速度快:SWD的下載速度可以達到10M/s,且在實際使用中表現穩定。

  4. 調試效率高:SWD模式下,調試器可以直接訪問芯片的寄存器,進行讀寫操作,便于對系統進行調試。

  5. 避免用戶程序干擾:在調試過程中,如果用戶程序存在邏輯錯誤,可能會影響JTAG下載程序的執行。而SWD模式下,即使用戶程序有錯誤,也可以通過持續復位的方式避免用戶程序的干擾,從而正常下載程序。

  6. 開發工具支持:許多現代的開發工具和調試器都支持SWD模式,比如STM32CubeMX等,在這些工具中配置SWD可以確保調試和下載的順利進行。

因此,將Debug配置成Serial Wire模式,可以提高調試的效率和可靠性,減少引腳占用,避免用戶程序的干擾,并且得到開發工具的良好支持。

第3步

led代碼

#include  "led_test.h"
//uwTick
uint32_t count;
uint32_t PIN=0xFF00;void led_start(){count=uwTick;while(uwTick<count+1000){}HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,PIN, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_RESET);count=uwTick;while(uwTick<count+1000){}HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,PIN, GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_RESET);
}

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

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

相關文章

Linux進程1.0--task_struct

1.硬件&#xff1a;馮諾依曼體系結構&#xff1a; 單個分析&#xff1a;、 數據流向&#xff1a;數據必須先進入輸入設備&#xff0c;再到存儲器&#xff0c;然后由存儲器給控制器&#xff0c;控制器收到以后進行相應的處理后&#xff0c;再傳回存儲器&#xff0c;存儲器最終傳…

本地部署Jina AI Reader:用Docker打造你的智能解析引擎

本地部署Jina AI Reader&#xff1a;用Docker打造你的智能解析引擎 &#x1f31f; 引言&#xff1a;為什么需要本地部署&#xff1f;&#x1f4cc; 場景應用圖譜&#x1f527; 部署指南&#xff08;Linux環境&#xff09;1. 環境準備2. Docker部署3. 驗證服務狀態 &#x1f680…

貪心算法簡介(greed)

前言&#xff1a; 貪心算法&#xff08;Greedy Algorithm&#xff09;是一種在每個決策階段都選擇當前最優解的算法策略&#xff0c;通過局部最優的累積來尋求全局最優解。其本質是"短視"策略&#xff0c;不回溯已做選擇。 什么是貪心、如何來理解貪心(個人對貪心的…

代碼隨想錄day17 二叉樹part05

654.最大二叉樹 給定一個不重復的整數數組 nums 。 最大二叉樹 可以用下面的算法從 nums 遞歸地構建: 創建一個根節點&#xff0c;其值為 nums 中的最大值。 遞歸地在最大值 左邊 的 子數組前綴上 構建左子樹。 遞歸地在最大值 右邊 的 子數組后綴上 構建右子樹。 返回 nums …

宇樹人形機器人開源模型

1. 下載源碼 https://github.com/unitreerobotics/unitree_ros.git2. 啟動Gazebo roslaunch h1_description gazebo.launch3. 仿真效果 H1 GO2 B2 Laikago Z1 4. VMware: vmw_ioctl_command error Invalid argument 這個錯誤通常出現在虛擬機環境中運行需要OpenGL支持的應用…

通過特征值和特征向量實現的圖像壓縮和特征提取

前文&#xff0c;我們在學習人工智能的線性代數基礎的時候&#xff0c;就了解到&#xff0c;矩陣在人工智能中被廣泛使用&#xff0c;接下來我們就從大家非常常見的圖像開始&#xff0c;深度理解矩陣在人工智能中的應用。有關線性代數基礎的文章可以看的我CSDN:人工智能中的線性…

藍橋杯2023年第十四屆省賽真題-整數刪除 暴力-->鏈表+小根堆

題目來自DOTCPP&#xff1a; 思路&#xff1a; ①每次找到數列中的最小值下標&#xff0c;然后用狀態數組st標記它&#xff0c;相當與刪除它&#xff0c;之后就不會訪問它。 ②對最小值下標左邊和右邊判斷一下&#xff0c;看有沒有數字&#xff0c;如果有就把最小值加到兩邊第…

springboot438-基于SpringBoot的數字化教學資源管理系統(源碼+數據庫+純前后端分離+部署講解等)

&#x1f495;&#x1f495;作者&#xff1a; 愛笑學姐 &#x1f495;&#x1f495;個人簡介&#xff1a;十年Java&#xff0c;Python美女程序員一枚&#xff0c;精通計算機專業前后端各類框架。 &#x1f495;&#x1f495;各類成品Java畢設 。javaweb&#xff0c;ssm&#xf…

藍橋杯刷題——第十五屆藍橋杯大賽軟件賽省賽C/C++ 大學 B 組

一、0握手問題 - 藍橋云課 算法代碼&#xff1a; #include <iostream> using namespace std; int main() {int sum0;for(int i49;i>7;i--)sumi;cout<<sum<<endl;return 0; } 直接暴力&#xff0c;題意很清晰&#xff0c;累加即可。 二、0小球反彈 - 藍…

跨境衛士跟vps哪個更好用?跨境衛士為賣家提供固定IP環境

跨境衛士是通過為賣家提供固定的環境 i p來隔離本地電腦環境&#xff0c;為賣家創造一個真實獨立的物理環境&#xff0c;讓買家再任意電腦&#xff0c;任意網絡下都能夠安全的管理賬號。跨境衛士和紫鳥原理一樣&#xff0c;是通過為賣家提供固定的環境 i p來隔離本地電腦環境&a…

coding ability 展開第四幕(滑動指針——鞏固篇)超詳細!!!!

文章目錄 前言水果成籃思路 找到字符串中所有字母異位詞思路 串聯所有單詞的子串思路 最小覆蓋子串思路 總結 前言 本專欄上一篇博客&#xff0c;帶著大家從認識滑動窗口到慢慢熟悉 相信大家對滑動窗口已經有了大概的認識 其實主要就是抓住——一段連續的區間 今天來學習一些滑…

圖解AUTOSAR_CP_BSW_General

AUTOSAR BSW通用規范詳解 AUTOSAR基礎軟件模塊通用規范與架構解析 目錄 1. 概述 1.1. AUTOSAR BSW通用規范簡介1.2. 文檔目的與范圍2. BSW模塊文件結構 2.1. 標準文件組織2.2. 命名規范3. BSW模塊接口 3.1. 接口類型3.2. 模塊API3.3. 配置參數4. BSW通用架構 4.1. 分層架構4.2.…

如何在Futter開發中做性能優化?

目錄 1. 避免不必要的Widget重建 問題&#xff1a;頻繁調用setState()導致整個Widget樹重建。 優化策略&#xff1a; 2. 高效處理長列表 問題&#xff1a;ListView一次性加載所有子項導致內存暴漲。 優化策略&#xff1a; 3. 圖片加載優化 問題&#xff1a;加載高分辨率…

組件通信框架ARouter原理剖析

組件通信框架ARouter原理剖析 一、前言 隨著Android應用規模的不斷擴大&#xff0c;模塊化和組件化開發變得越來越重要。ARouter作為一個用于幫助Android應用進行組件化改造的框架&#xff0c;提供了一套完整的路由解決方案。本文將深入分析ARouter的核心原理和實現機制。 二…

Netty啟動源碼NioEventLoop剖析accept剖析read剖析write剖析

學習鏈接 NIO&Netty - 專欄 Netty核心技術十–Netty 核心源碼剖析Netty核心技術九–TCP 粘包和拆包及解決方案Netty核心技術七–Google ProtobufNetty核心技術六–Netty核心模塊組件Netty核心技術五–Netty高性能架構設計 聊聊Netty那些事兒 - 專欄 一文搞懂Netty發送數…

2024年12月CCF-GESP編程能力等級認證C++編程一級真題解析

一級真題的難度: ? CCF-GESP編程能力等級認證C++編程一級真題的難度適中?。這些真題主要考察的是C++編程的基礎知識、基本語法以及簡單的算法邏輯。從搜索結果中可以看到,真題內容包括了選擇題、編程題等題型,涉及的內容如C++表達式的計算、基本輸入輸出語句的理解…

73.HarmonyOS NEXT PicturePreviewImage組件深度剖析:高級功能擴展與性能優化策略(三)

溫馨提示&#xff1a;本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦&#xff01; HarmonyOS NEXT PicturePreviewImage組件深度剖析&#xff1a;高級功能擴展與性能優化策略(三) 文章目錄 HarmonyOS NEXT PicturePreviewImage組件…

Spark 中創建 DataFrame 的2種方式對比

spark.createDataFrame(data).toDF("name", "age") 和 spark.createDataFrame(spark.sparkContext.parallelize(data), schema) 創建df的方式有什么區別&#xff1f; 在 Spark 中&#xff0c;創建 DataFrame 的方式有多種&#xff0c;其中兩種常見的方式…

六十天前端強化訓練之第十七天React Hooks 入門:useState 深度解析

歡迎來到編程星辰海的博客講解 看完可以給一個免費的三連嗎&#xff0c;謝謝大佬&#xff01; 目錄 一、知識講解 1. Hooks 是什么&#xff1f; 2. useState 的作用 3. 基本語法解析 4. 工作原理 5. 參數詳解 a) 初始值設置方式 b) 更新函數特性 6. 注意事項 7. 類組…

IEC61850標準下MMS 緩存報告控制塊 ResvTms詳細解析

IEC61850標準是電力系統自動化領域唯一的全球通用標準。IEC61850通過標準的實現&#xff0c;使得智能變電站的工程實施變得規范、統一和透明&#xff0c;這大大提高了變電站自動化系統的技術水平和安全穩定運行水平。 在 IEC61850 標準體系中&#xff0c;ResvTms&#xff08;r…