二、KeilMDK+STM32CubeMX建立工程_LED灯闪烁为例

news/2025/3/24 1:54:53/

1、开发环境

(1)KeilMDK:V5.38.0.0

(2)STM32CubeMx:V6.8.1

(3)MCU:STM32F407ZGT6

2、实验目的&原理图

2.1、实验目的

实现两个LED灯以500毫秒闪烁一次。

2.2、原理图

(1)LED阴极接GPIO,GPIO输出低电平,LED点亮;GPIO输出高电平,LED熄灭。

(2)LED1接PF9、LED2接PF10。

3、STM32CubeMX操作部分

3.1、新建工程

(1)打开STM32CubeMX软件。

(2)点击File→NewProject。

 (3)Commercial Part Number(商用部件号)处输入MCU型号,然后选择正确的单片机型号,点击Start Project(开始项目)。

(4)配置工程名、工程存放文件等。

点击Project Manager(项目经理)进行如下配置。

点击Code Generator(代码生成器)进行如下配置。

(4)点击GENERATE CODE生成KeilMDK工程。

3.2、配置时钟和GPIO

(1)HSE、LSE时钟源选择

  • HSE:高速外部时钟源
  • LSE:低俗外部时钟源
  • Disable:禁用
  • BYPASS Clock Source:旁路时钟源
  • Crystal/Ceramic Resonator :水晶/陶瓷共振器
  • 一般选择水晶陶瓷共振器
  • 旁路时钟源就是由外部给定一个时钟信号,一般用于作为同步时钟。
  • 水晶/陶瓷共振器:指外接晶振,经过内部振荡电路产生时钟。

(2)配置GPIO如下

(3)时钟树的配置

(3)配置需要重新点击GENERATE CODE更新KeilMDK代码。

4、KeilMDK软件编写部分

4.1、程序编写

    HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);HAL_Delay(500);HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);HAL_Delay(500);

4.2、完整工程下载地址

(1)完整工程存储在码云。

(2)STM32_CSDN: CSDN中STM32专栏的所有示例代码


http://www.ppmy.cn/news/205655.html

相关文章

网络安全大厂面试题合集+

以下为网络安全各个方向涉及的面试题,星数越多代表问题出现的几率越大,祝各位都能找到满意的工作。 注:本套面试题,已整理成pdf文档,但内容还在持续更新中,因为无论如何都不可能覆盖所有的面试问题&#xf…

vmware安装deepin系统一直卡在黑屏(已解决)

我与到了这样的情况,在vmware里安装的deepin15,一致卡在黑屏界面,解决办法如下 deepin属于dedian系的系统,,在vmware选择系统类型的时候,选择同属于debian系的ubantu就行了,还要注意待安装的系统是32还是64位的 虽然vmware这个软件是32位软件,,但是不要误解,它是可以装64位系统…

微信预览wx.previewImage黑屏

function showPic(picurl,id){var photo_list $("#photo_list_"id).val();var picarr photo_list.split(|);wx.previewImage({current: picurl,urls: picarr }); }点击事件出现黑屏转圈的情况,然后开发者工具出现这个提示 PC无法调试出黑屏转圈的情况&…

WebSocketClient.js?5586:16 WebSocket connection to ‘ws://10.40.126.70:8080/w

兄弟们,我才疏学浅,我直接给关了,然后重启项目,目前并不影响正常操作,什么时候进阶研究源码再说吧!

python websockets(wss)

官网介绍 以下为两段示例代码 #!/usr/bin/env pythonimport asyncio import websocketsasync def hello():async with websockets.connect("ws://localhost:8765") as websocket:await websocket.send("Hello world!")await websocket.recv()asyncio.run(…

Windows如何安装WS2

1.启用WSL 管理员身份打开PowerShell 工具并运行以下命令: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart2.启用虚拟平台 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /nor…

websocket系列:ws和wss的区别

一、ws和wss的区别 Websocket使用 ws 或 wss 的统一资源标志符,类似于 HTTP 或 HTTPS,其中 wss 表示在 TLS 之上的 Websocket ,相当于 HTTPS 了。如: ws://example.com/myWs wss://example.com/myWs默认情况下,Websocket 的 ws 协议使用 80 端口;运行在TLS之上时,wss …

STC32G12K128-Beta WS2812控制 RGB与HSV互相转换

ws2812控制代码 void WS2812_bit(bit data_bit) {if(data_bit){LED1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//_nop_();//_nop_();//_nop_();//_nop_();//_nop_();//_nop_();LED0; }else{LED1;//_nop_();//_nop_();//_nop…