点亮第一盏LED灯 5): stm32CubeMX生成Keil代码
嵌入式入门,继续点亮第一盏LED灯,前面文章已经配置了GPIO引脚和时钟,那么基本上stm32CubeMX的配置就完成了,还有一点就是可以对PC13这个引脚起个别名,

这里起的别名是 LED_PC13,还有注意地方就是GPIO mode的选项是 Output push pull (推挽输出),这个是比较常用的输出模式,GPIO的输出输入模式也是很重要的知识点,这里先记住这个推挽输出。
到这里,stm32CubeMX所有的配置已经完成,接下来就是生成Keil代码。
点击 Project Manager 这个标签页

设置项目名,项目保存的位置,重点是红色箭头指向的这个配置,这里的MDK-ARM指的就是Keil,
然后点击 Code Generator

按照图片选中选项就可以了,这两个选项指的是复制所需的库文件,以及.c文件和.h文件要分开生成。
配置完成之后,点击 生成代码

然后stm32CubeMX会自动打开Keil,可以看到,已经将文件目录和代码文件自动生成好了

认识一下这里的文件,startup_这个文件是启动文件,是最先执行的文件,main.c是入口文件,由于项目只配置了PC13这个引脚,所以只有gpio.c这个文件
接下来就是写业务代码,这个项目的业务代码很简单,就是PC13这个引脚输出低电平。

业务代码写在哪里?在main.c这个文件,找到 while(1){} 这部分,业务代码就写在 while 函数里面。
stm32的代码开发有3种方式,1是使用标准库,2是使用HAL库,3是使用寄存器。初学者先使用HAL库,HAL库就是封装好的函数,直接调用就可以了,

使用的HAL函数就是 HAL_GPIO_WritePin(),就是使用这个函数将PC13这个引脚输出低电平。
HAL_GPIO_WritePin(GPIOC, LED_PC13_Pin, GPIO_PIN_RESET)
就这么一句代码就完成了,HAL_GPIO_WritePin有3个参数,参数1是引脚端口,例如PC13引脚端口就是C,第2个参数就是引脚名称,还记得前面文章将PC13引脚设置了别名LED_PC13,第3个参数就是引脚的电平状态, GPIO_PIN_RESET是常年,表示低电平。
ok,代码写完了,接下来就是烧录到stm32板子。
相关文章:
点亮第一盏LED灯 5): stm32CubeMX生成Keil代码
嵌入式入门,继续点亮第一盏LED灯,前面文章已经配置了GPIO引脚和时钟,那么基本上stm32CubeMX的配置就完成了,还有一点就是可以对PC13这个引脚起个别名, 这里起的别名是 LED_PC13,还有注意地方就是GPIO mode…...
ollama语言大模型部署使用
ollama语言大模型部署使用 前言一、下载安装maxkb1、下载解压赋权2、安装 二、安装ollamadocker运行 三、无需获取api_keymaxkb安装ollama模型对,就是这,你选好基础模型后,只需要给他地址,添加完成后自行调用ollama安装你选择好的…...
redis 基本数据类型—string类型
一、介绍 Redis 中的字符串,直接就是按照二进制数据的方式存储的,不会做任何的编码转换。 Redis对于 string 类型,限制了大小最大是512M 二、命令 SET 将 string 类型的 value 设置到 key 中。如果 key 之前存在,则覆盖&#…...
Git 使用教程:从入门到精通
Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 创建,用于有效、高速地处理从小到大的项目版本管理。本教程将带你从 Git 的安装开始,逐步学习到如何使用 Git 进行日常的版本控制操作。 安装 Git Windows 访问 Git 官方网站 下载 …...
ES查询的一些优化方式
ES查询的一些优化方式 filter和query Query会计算得分,filte不是, 整体上query会更耗时 字段方式: KEYWORD 和 text, Text检索的方式往往会占用更多性能,它往往需要伴随着模糊匹配和分词 分页的大小 From 和size的大小合理设置…...
计算左边(比自己小的元素)的最长距离
前言:一般做的题目都是使用单调栈来求出距离这个点最近的那个比这个数大或小的元素,但是如果是需要找到最远的那个元素呢?我们可以用到类似逆序对的思路,我们先进行排序从小到大,接着我们先处理左边,每次维…...
【C++算法】二分查找
二分查找 题目链接 二分查找https://leetcode.cn/problems/binary-search/ 算法原理 代码步骤 代码展示 class Solution { public:int search(vector<int>& nums, int target) {int left 0, right nums.size() - 1;while(left < right){// 防止溢出int mid …...
红日靶场通关
初始准备 首先是网络配置,看教程来的,我配置完的效果如下 windows7:(内:192.168.52.143 / 外:192.168.154.136) windows2003:(内:192.168.52.141)windows2008:(内:192.…...
用Python爬虫制作一个简易翻译器
我们通常是通过requestsBS4的方法来获取网页内容,这种方法导入模块较多,速度相对有点儿慢,此时我们可以用requests的post方法向指定服务器发送请求,获取数据后格式化为json,然后获取相关键值。这种方法用到了requests和…...
Shader Graph Create Node
一、Artistic 1、Adjustment 1)、Channel Mixer(通道混合) 根据权重对每个通道进行混合。 Contrast(对比度) 可调整对比度 调整对比度可以改变图像的鲜明度和层次感。增加对比度会使图像中的明暗差异更加显著,使图像看起来更加清晰、明亮;减少对比…...
共模干扰的形成和滤除
1、共模就是共同对地的干扰: 如图,我们可以看到共模的原理图。UPQ就是共模电压,ICM1 ICM2 就是共模电流。 ICM1 ICM2 大小不一定相同,方向相同。 2、共模信号和差模信号的区别: 通常电源线有三根线:火线L、…...
(计算机网络)运输层
一.运输层的作用 运输层:负责将数据统一的交给网络层 实质:进程在通信 TCP(有反馈)UDP(无反馈) 二.复用和分用 三. TCP和UDP的特点和区别 进程号--不是固定的 端口号固定--mysql--3306 端口--通信的终点 …...
基于深度学习的信号滤波:创新技术与应用挑战
一、引言 1.1 研究背景 随着科技的不断发展,信号处理领域面临着越来越复杂的挑战。在众多信号处理技术中,基于深度学习的信号滤波技术逐渐崭露头角,成为研究的热点。 基于深度学习的信号滤波在信号处理领域具有至关重要的地位。如今&#…...
MFC工控项目实例之十一板卡测试信号输入界面
承接专栏《MFC工控项目实例之十添加系统测试对话框》 相关代码 1、在BoardTest.h文件中添加代码 class CBoardTest : public CDialog { // Construction public:CBoardTest(CWnd* pParent NULL); // standard constructorCButtonST m_btnStart[16];CWinThread* pThread…...
sql中索引查看是否生效
在pg数据库中有多种索引存在,在一般情况下我们取使用普通索引 以下是一些常见导致索引未命中的原因和优化策略 1.如果查询中的条件与索引字段的顺序不匹配,或者索引字段没有完全包含在查询条件中,索引可能不会被使用。 2.在查询中使用函数…...
SpringBoot常见面试题
1.请说一说Spring Boot的自动装配原理? SpringBootApplication EnableAutoConfiguration AutoConfigurationImportSelector组件 SpringFactoriesLoader读取 (1)META-INF/spring.factories 或者 (2)org.springframework…...
springboot优雅停机无法关闭进程,kill无法停止springboot必须kill -9,springboot线程池使用
背景最近项目在jenkins部署的时候发现部署很慢,查看部署日志发现kill命令执行后应用pid还存在,导致必须在60秒等待期后kill -9杀死springboot进程 应用环境 springboot <dependency><groupId>org.springframework.boot</groupId>&l…...
【系统架构设计师-2015年真题】案例分析-答案及详解
更多内容请见: 备考系统架构设计师-核心总结索引 文章目录 【材料1】问题1问题2【材料2】问题1问题2问题3【材料3】问题1问题2问题3【材料4】问题1问题2问题3【材料5】问题1问题2问题3【材料1】 阅读以下关于软件架构评估的说明,在答题纸上回答问题1和问题2。 【说明】某软件…...
MongoDB设置系统服务启动教程
1、编辑mongodb.service文件 将MongoDB设置成系统服务,就可以通过systemctl进行启动停止重启,在目录/etc/systemd/system下编写mongodb.service文件: [Unit] DescriptionMongoDB Database Server Documentationhttps://www.mongodb.com/docs…...
mysql学习教程,从入门到精通,MySQL WHERE 子句(10)
1、SQL WHERE 子句 在本教程中,您将学习如何使用SQL从表中选择特定记录。 根据条件选择记录 在上一章中,我们学习了如何从表或表列中获取所有记录。但是,在现实世界中,我们通常只需要选择,更新或删除满足某些条件的那…...
Halcon图像高效转换:HObject到Bitmap的优化实践(20ms内完成)
1. 为什么需要HObject到Bitmap的高效转换 在工业视觉和深度学习应用中,Halcon的HObject图像格式和Windows平台的Bitmap格式就像两个说着不同语言的人。我遇到过太多这样的场景:当我们需要把Halcon处理后的图像交给TensorFlow做推理,或者要在…...
1985–2024年武汉大学CLCD中国土地利用/覆被数据集(逐年30米栅格)|高精度长时序LUCC产品
🔍 数据简介 CLCD(China Land Cover Dataset) 是由武汉大学测绘遥感信息工程国家重点实验室李熙教授、李德仁院士团队基于Landsat系列卫星影像,结合深度学习与多源辅助数据(如夜间灯光、POI、道路网等)&…...
Qwen2-VL-2B-Instruct在Qt桌面应用中的集成:开发跨平台图像分析工具
Qwen2-VL-2B-Instruct在Qt桌面应用中的集成:开发跨平台图像分析工具 1. 引言 如果你是做桌面应用开发的,特别是用C和Qt的,最近可能也注意到了AI模型带来的新机会。很多开发者都在想,怎么把这些强大的AI能力,比如看图…...
基于hadoop+spark+hive 机器学习物流管理系统 货运路线规划系统 智慧交通 计算机毕业设计 Echarts可视化
1、项目介绍 技术栈: Python语言、Django框架、Echarts可视化、MySQL数据库、HTML、报表、物流信息、多角色登录、物流管理该系统采用python和django两种常见的框架,通过MVT来实现对数据集 成和分析,从而更好地满足各种需求。此外,…...
PyQt5实战:用QTreeView+QStandardItemModel快速构建你的第一个树形文件浏览器(附完整代码)
PyQt5实战:用QTreeViewQStandardItemModel快速构建你的第一个树形文件浏览器 每次看到电脑资源管理器左侧那整齐的目录树,你是否好奇过它是如何实现的?今天我们就用PyQt5的QTreeView和QStandardItemModel组件,从零开始打造一个简…...
基于OpenCV的多条形码高效定位与识别实战
1. 为什么需要多条形码识别技术 在零售仓储和物流分拣场景中,我们经常需要同时处理多个条形码。比如快递站点的包裹分拣机,每秒钟要处理数十个包裹的条形码;超市收银台的商品堆里,经常叠放着五六件带条形码的商品。传统扫码枪需要…...
Node.js全栈项目集成Wan2.1-UMT5:实时视频生成进度推送
Node.js全栈项目集成Wan2.1-UMT5:实时视频生成进度推送 最近在做一个挺有意思的项目,需要把Wan2.1-UMT5这个视频生成模型集成到我们自己的系统里。用户上传一段文字描述,系统就能生成一段短视频。听起来挺酷,对吧?但问…...
终极Django CORS Headers缓存优化指南:如何正确配置Vary头部提升性能
终极Django CORS Headers缓存优化指南:如何正确配置Vary头部提升性能 【免费下载链接】django-cors-headers Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS) 项目地址: https://gitcode.com/gh_mirrors/dj/djang…...
终极Hasklig字体完全指南:如何通过编程连字技术提升代码可读性
终极Hasklig字体完全指南:如何通过编程连字技术提升代码可读性 【免费下载链接】Hasklig Hasklig - a code font with monospaced ligatures 项目地址: https://gitcode.com/gh_mirrors/ha/Hasklig Hasklig是一款专为编程设计的等宽字体,通过创新…...
如何让Windows任务栏变透明?TranslucentTB完整教程指南
如何让Windows任务栏变透明?TranslucentTB完整教程指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要为你的Windows桌面…...
