
STM32单片机
STM32单片机学习
王哈哈、
好好学习,天天向上。
展开
-
【STM32Cubeide的使用】Cubeide结合vscode编写代码时,两个编译器如何同时更新代码(文件)的修改?
由于Keil的不够人性化,想用一下Cubeide试试。但是遇到的问题是:我结合vscode编写代码时,Cubeide不能实时更新vscode的修改,导致用不了。原创 2024-11-30 10:05:40 · 353 阅读 · 0 评论 -
【CRC校验】CRC-16/MODBUS 源码(查表法)
【代码】【CRC校验】CRC-16/MODBUS 源码(查表法)原创 2024-09-03 22:18:44 · 597 阅读 · 0 评论 -
CRC校验函数(自己编写的软件校验方法)__代码
【代码】CRC校验函数(自己编写的软件校验方法)__代码。原创 2024-09-03 17:10:59 · 524 阅读 · 0 评论 -
【Keil、VScode】当Keil和VScode代码同步时,中文注释乱码怎么解决?
如何在VScode写好中文注释,点击保存。代码马上更新到Keil上面,这时候会乱码。就手动全选VScode的代码,直接粘贴到Keil那边。之后再写VScode代码中文注释,保存,Keil那边就能够更新保存下去了。选用UTF-8字体,好看。原创 2024-08-07 22:29:06 · 669 阅读 · 0 评论 -
【STM32F103】利用PWM驱动舵机
参考:【【STM32F4+CubeMX零基础快速入门】定时器中断 PWM输出】 https://www.bilibili.com/video/BV1f54y1Y7Ls/?原创 2024-05-26 19:27:47 · 545 阅读 · 0 评论 -
【STM32】利用C++/C编写STM32代码
C++编写STM32代码,如何进行?将编译器改成6。原创 2024-05-23 12:23:46 · 2528 阅读 · 1 评论 -
【Git】使用tortoiseGit
但是团队合作肯定要合并的,也就是自己的代码和别人的代码肯定不一样,要合并,在分支dev合并。这时候就会报错,因为自己的分支和最新的dev分支代码有冲突!但是这时候还没有完,切换到自己的分支test,发现没有别人新建的2.txt文件,原创 2024-05-22 19:31:35 · 1381 阅读 · 0 评论 -
【STM32单片机】RS485通信—基于STM32G474芯片
做项目需要用485通信来控制Go电机参考资料:【【STM32F103C8T6系列】10. 实验例程——485(USART串口)通讯实验】 https://www.bilibili.com/video/BV19w411r7ka/?PDF: STM32G474 开发指南 正点原子 DMG474 开发板教程 第28章485只是物理层,代码逻辑还是UART串口通信,相当于是电路有RS485转换芯片,所以还是用UART串口通信方式。原创 2024-05-19 20:47:03 · 2749 阅读 · 0 评论 -
【STM32G474】利用Cpp编写STM32代码后,Cubemx修改配置后代码报错147个error,如何处理?
是一个宏定义文件,它包含了FreeRTOS在与硬件相关的操作中使用的宏。通过定义这些宏,可以针对不同的硬件平台调整FreeRTOS的行为,而无需修改FreeRTOS的核心代码。FreeRTOS是一个开源的、可裁剪的、抢占式的实时操作系统,广泛用于嵌入式系统开发。是FreeRTOS的另一个源文件,它包含了与硬件紧密相关的代码,通常包括中断处理、上下文切换、tick计数等核心功能。通常,STM32的标准外设库或HAL库已经提供了一些与硬件操作相关的函数,这些函数可以在。在STM32微控制器的开发中,原创 2024-05-08 22:28:33 · 776 阅读 · 0 评论 -
【Keil】预处理指令#ifndef、#define 和 #endif
在 C 或 C++ 编程中,您看到的这两行代码是一种常见的头文件保护机制,用于防止头文件被多重包含(include multiple times)。在 STM32 和其他嵌入式项目中,这是一个很好的实践,可以保持代码的清洁和避免潜在的编译错误。当一个头文件被多重包含时,会导致同一个变量或函数被重复定义,这在 C 或 C++ 中是不允许的,会导致编译错误。使用这种机制,无论头文件被包含多少次,头文件的内容只会被编译一次,从而避免了多重定义的问题。此外,宏定义通常使用独特的标识符,如。原创 2024-04-30 11:51:50 · 1984 阅读 · 0 评论 -
【Keil】如何在vscode编写Keil代码并且能够调试、下载到单片机STM32
https://cloud.tencent.com/developer/article/1666659原创 2024-04-26 21:47:14 · 2159 阅读 · 1 评论 -
【Keil调试】如何利用debug测量程序运行的精准时间
需要清楚运行相关函数所需要的时间,来决定数据更新频率。倘若函数是计算大量公式,所花的时间较长,而更新周期过短,会导致代码跑飞;而更新周期过长,会导致控制不够精确,求导、求微分精度都不够。那么设备做剧烈运动的时候(如跳跃落地控制平稳),控制就尤其困难。方法一、利用逻辑分析仪(最精确),但需要设备;方法二、利用debug(较精确),不需要设备;本文采用方法二。Keil调试如何测量程序运行的精准时间:#keil调试# debug 查看代码能运行到哪一部分:参考以上这两篇博客就足够了。原创 2024-03-30 12:08:58 · 3244 阅读 · 0 评论 -
【STM32CubeMX】生成代码错误
我安装的时候操作正确。原创 2024-01-30 11:56:42 · 988 阅读 · 0 评论 -
【STM32F103单片机】利用ST-LINK V2烧录程序 面包板的使用
烧录成功后,按下核心板的。原创 2024-01-29 12:00:13 · 1106 阅读 · 0 评论 -
【Keil_MDK5】如何下载包pack?
可以从这里右键点击下载install,但是下载不了。如果可以下载,那一切无事。打开,安装,即可,打开Keil,便可。原创 2024-01-25 15:23:31 · 1362 阅读 · 0 评论 -
【51、32单片机】模块化编程(.c .h文件)
USER:存放工程文件、主函数文件 main.c,以及其他包括system_stm32f10x.c等CORE :用来存放核心文件和启动文件OBJ :是用来存放编译过程文件以及hex 文件STM32F10x_FWLib :用来存放 ST 官方提供的库函数源码文件SYSTEM:此文件夹里面的代码由 ALIENTEK 提供,是STM32F10x 系列的底层核心驱动函数,可以用在 STM32F10x 系列的各个型号上面,方便大家快速构建自己的工程。HARDWARE:存放我们其他硬件的代码。原创 2024-01-21 00:41:27 · 494 阅读 · 0 评论 -
STM32F407串口通信
本文是基于江科大B站视频编写,参考各种资料进行学习。原创 2023-04-15 23:19:15 · 2951 阅读 · 2 评论 -
STM32F407ZGT6实现OLED显示屏
1、调试工具2、OLED简介3、硬件电路(接线)本文采用7脚,倘若采用4脚,资料代码啥的可以在江科大B站视频下载:资料下载:https://pan.baidu.com/s/1SqKyKr5Fsl_9gBJi8aVxTw,提取码:8kzh,链接里压缩包的解压密码:32套件获取:https://b23.tv/aBlDyk实物接线图,一定不要正负短接江科大视频的资料4、OLED驱动函数这几个函数(根据自己要求编写,由于我使用的是F4,历程也不一样,因此采用lmf老师的代码)要学会原创 2023-04-15 17:57:01 · 7904 阅读 · 14 评论 -
STM32F407ZGTE6利用模拟PWM驱动42步进电机(与pwm驱动led闪烁一样)
lmf老师来帮我解决42步进电机“预转不转”的问题,利用引脚模拟pwm波形驱动42步进电机,成功找到原因,还顺便给我留下了另一种驱动思路——直接引脚驱动。原创 2023-04-13 16:31:48 · 1286 阅读 · 0 评论 -
编写毕设代码
根据去年正点原子视频组建的新Template工程文件建立框架,结果搞了很久都不行,一直以为是代码出了逻辑问题!杜邦线接触不良,导致电压不足或者电流不足,出现了“以为是代码问题,结果却是硬件问题”,辨别方法有:万用表测工作状态的舵机正负极电压、逻辑分析仪(示波器)测试波形。改进方法:将杜邦线分类包装好(胶布),贴上标签,写上记号,下次接线特别方便。继电器是不是坏,杜邦线是不是接触不良,代码是不是有冲突,芯片是不是没有插稳,是不是复制粘贴过来的key文件不兼容…//抽水时间32S,抽水量为一个“半梅干”瓶子。原创 2023-04-01 22:55:41 · 181 阅读 · 0 评论 -
STM32F407ZGT6控制舵机(采用通用定时器2)
【代码】STM32F407ZGT6控制舵机(采用通用定时器2)原创 2023-04-01 18:02:50 · 1203 阅读 · 0 评论 -
STM32F407ZGTE6定时器各通道对应引脚
https://www.renrendoc.com/paper/130486902.html原创 2023-03-27 21:31:13 · 1276 阅读 · 0 评论 -
利用稳压模块设计电源电路(洞洞板手工做板)
一块12伏的电池,要进行分压以适应多路的供电要求。因此做电源电路很有必要,本文采用洞洞板、稳压模块,手工焊接。原创 2023-03-26 16:49:01 · 2154 阅读 · 2 评论 -
STM32F407控制微型推拉式电磁铁(通过继电器)
map文档是包含的,一定要把KEY.map改为ELECTROMAGNET.map,其他的话就不太明白了,反正现在是能烧入代码了。采用继电器的好处除了能够用低电压控制高电压(如32单片机控制220V的电压)外,还可以防止电流反冲,弄烧单片机。,通过控制32单片机的引脚电平的高低来控制继电器的启闭,进而控制电磁铁。采用了正点原子的代码——KEY实验,所以其实只有WKUP_PRESS控制继电器,其他是控制led。本文采用3.3v的电磁铁,明明可以直接接在单片机的io口上,像led那样使用,为什么还要继电器?原创 2023-03-25 22:22:14 · 4647 阅读 · 4 评论 -
STM32F407ZGT6控制舵机(采用高级定时器8)
32单片机给舵机供电不足,会出现不稳定的情况(舵机鬼畜);所以要外加电源给舵机供电,利用12v锂电池,通过稳压模块降压到5.5v,提供给舵机。稳压电路的gnd一定要接上32单片机的gnd,不共地虽然能供电但数据线无法传输数据。stm32的高级定时器8的通道一连接PC6,通道二连接PC7.此主函数的语句,2选择通道2,所以数据线接PC7。原创 2023-03-24 21:14:03 · 1795 阅读 · 0 评论 -
STM32F4驱动42步进电机(采用驱动器)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。原创 2023-03-24 20:46:24 · 6424 阅读 · 7 评论 -
项目:水温控制系统
使用到了:KEY、OLED、LED、BEEP该项目已经压缩在了E盘(stm32正点原子资料文件夹),硬件平台:大二在精密实验室焊的32主板原创 2022-10-18 22:26:23 · 149 阅读 · 0 评论 -
04-407核心板时钟树和案例代码解读
学习资料:stm32开发指南硬件家园“stm32。。。”的“P45 系统框图讲解”和“P46 时钟树讲解”407核心板时钟树SystemInit()函数中设置的系统时钟大小:SYSCLK(系统时钟) =168MHzAHB 总线时钟(HCLK=SYSCLK) =168MHzAPB1 总线时钟(PCLK1=SYSCLK/4) =42MHzAPB2 总线时钟(PCLK2=SYSCLK/2) =84MHzPLL 主时钟 =168MHzLSE 是低速外部时钟,接频率为 32.768kHz 的石原创 2021-02-16 23:53:58 · 296 阅读 · 0 评论 -
光耦知识点
/光耦/光耦主要是对输入、输出电信号起隔离作用。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。工作特性1、共模抑制比很高在光电耦合器内部,由于发光管和受光器之间的耦合电容很小(2pF以内)所以共模输入电压通过极间耦合电容对输出电流的影响很小,因而共模抑制比很高。2、输出特性光电耦合器的输出特性是指在一定的发光电流IF下,光敏管所加偏置电压VCE与输出电流IC之间的关系,当IF=0时,发光二极管不发光,此时的光敏晶体管集电极输出电流称为暗电流,一般很小。当IF>原创 2021-01-04 23:15:56 · 594 阅读 · 0 评论 -
万用表的使用
deprecate 反对,轻视declaration 宣告,声明书;宣布,宣告;申报arg——argue 争论;论证,争辩;主张,认为;提供证据,证明;表明(原因等)type 类型,种类 ;打字;成为…的典型function 功能,作用,机能;函数;应变量;盛大聚会;职务,职责 起作用;正常工作,运转万用表的使用:视频见于微信的收藏“学习资料”如何关闭防火墙...原创 2021-02-08 23:18:10 · 100 阅读 · 0 评论 -
初学者解决keil MDK 5 编译出现“Could not open file ..\output\core_cm3.o: No such file or directory“
具体解决办法网站:https://blog.youkuaiyun.com/qq_42926939/article/details/89502253不是没有包含路径,而是电脑本身找不到,里面有解决方案。原创 2021-02-07 11:42:41 · 3794 阅读 · 0 评论 -
软件复位(代码烧入要复位)
原创 2021-04-05 20:24:53 · 681 阅读 · 0 评论 -
代码烧入错误问题
原创 2021-04-05 15:59:33 · 266 阅读 · 0 评论 -
为什么延时函数while()没有递减
因为有时钟中断,1ms中断一次,如何减1原创 2021-03-20 23:35:30 · 314 阅读 · 0 评论 -
02-407控制底板PCB开发板资源介绍资料
核心板+控制底板(反客)+++DIY1、芯片介绍:stm32F407ZGT6(开发指南)产品(见淘宝“反客科技”)核心板并没有使用STM32F407开发指南上的,因为它贵且许多功能没有用到,所以就使用反客的,芯片的一样,没事。开发板是李明枫老师画的。1.2 ALIENTEK STM32F407 最小系统板资源说明资源说明部分,我们将分为两个部分说明:硬件资源说明和软件资源说明。1.2.1 硬件资源说明这里我们首先详细介绍 STM32F407 最小系统板的各个部分(图 1.1.1 中的标注原创 2021-02-10 13:25:55 · 1521 阅读 · 0 评论 -
KEY查询+LED
关于KEY:KEY查询比如:LED亮灭——查询是不是有按键按下去有:执行相对应的代码没有:则不执行,保持LED现有状态KEY中断——实时性比较强比如:LED亮灭——查询是不是有按键按下去有:执行相对应的代码没有:。。。今天操作《KEY查询》...原创 2021-02-08 22:35:23 · 278 阅读 · 0 评论 -
去老表家搞软件keil—学习笔记
早上,成功完成keil5的修复,详情见上个博客中午,完成key+beep+led的调试(老表操作)晚上,我跟着老师B站的视频做led+beep的代码调试,自己独立建文件,并添加beep部分,代码没有显示错误,但是只有led调试成功,beep失败。计划明天,做key+led,key+beep,key+led+beep,以及看看能否把beep的失败解决。今日收获知识:1、keil5输入中文:先点击左上角的“编辑”,然后点击最下面的“配置”,按图操作即可。2、蜂鸣器代码,记得要跳线帽或者杜邦线,G原创 2021-02-07 22:04:22 · 356 阅读 · 2 评论