
STM32
文章平均质量分 72
NULL_1969
公众号:MCUdebuger,wx:jack_yi_null;b站:计算机考古工程厮
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vscode stm32 variable uint32_t is not a type name 问题修复
uint32_t 实际是在D:/Keil_v5/ARM/ARMCC/include/stdint.h中定义的。将D:/Keil_v5/ARM/ARMCC/include添加到系统include目录。将其添加到系统引用路径下,发现仍然报错。在添加了stdint.h目录后,发现仍然报错了。于是网上搜索,有的说要在配置文件中添加__CC_ARM.添加后发现还是报错了。最后仔细研究了下keil工程里的宏定义,发现定义了,USE_HAL_DRIVER,STM32F407xx,_STM32。原创 2025-04-17 11:09:30 · 753 阅读 · 0 评论 -
daplink烧录器
使用daplink后,发现只能使用pyocd的终端命令,没有界面程序。对于非开发者很不友好。于是有想写一个界面的想法。原创 2023-06-16 20:22:03 · 2147 阅读 · 3 评论 -
单片机的几种ota内存分区表介绍
介绍几种单片机升级需求,内存分表的方式原创 2023-05-19 15:18:38 · 2124 阅读 · 0 评论 -
单片机0xFFFFFFFE死机问题解决
解决单片机运行过程中,卡死在汇编0xFFFFFFFE 0000 MOVS r0,r0 的问题原创 2023-05-18 17:22:32 · 6370 阅读 · 3 评论 -
protobuf编码格式解析
假如定义一个如下的protobuf类型。原创 2023-04-12 18:56:34 · 1452 阅读 · 0 评论 -
自动以版本号命名keil生成的bin文件
在做项目中一直遇到一个小问题。一直也没管,最近花了点时间处理了,效果还不错。问题是这样的:每次编译后的生成的bin文件需要给客户,烧录到设备里进行更新。每次生成的bin文件都是固定的文件名,发给客户前,需要人为将bin文件改为vx.x.x.bin再发送。这一步需要人工命名,虽然花不了几分钟,但是还是觉得体验不太好,因为如果一次编译的版本多的话,人容易命名出现纰漏。所以如果能生成bin文件后,自动进行重命名,那可靠性比人工高多了。原创 2023-03-28 16:42:26 · 3414 阅读 · 2 评论 -
pyocd手动安装pack包
进入pyock pack manager目录c盘C:\Users\Administrator\AppData\Local\cmsis-pack-manager\cmsis-pack-manager。新建Keil目录,在Keli目录新建STM32F4XX_DFP目录,在STM32F4XX_DFP目录下放入上面下载的.pack文件,在使用pyocd的时候发现没有stm32f407,于是使用pyocd pack命令安装。然后在中断中输入pyocd pack -s 便可看到安装的stm32f4包。原创 2022-11-14 12:54:46 · 4925 阅读 · 0 评论 -
modbus协议教程
freemodbus协议教程原创 2022-09-07 19:28:42 · 3501 阅读 · 0 评论 -
Modbus调试软件使用教程
modbus 调试软件使用教程原创 2022-09-07 19:24:47 · 11988 阅读 · 3 评论 -
stm32检测串口空闲的原理
在在使用串口的时候,串口dma+空闲中断,用起来非常爽,但是一直不知道,stm32硬件是如何判断一帧数据时候接受完了。这次一次分析下。原创 2022-08-10 19:48:27 · 3452 阅读 · 1 评论 -
stlink故障修复
一直用的是国产版stlink,但是最近手头手头上的两个stlink在下载的时候出故障了,无法识别。上淘宝一搜发现涨价了,记得以前是20左右,现在都要40快一个。于是想着能不能进行修复。百度搜了一下,发现确实有大神开发出了固件。可以重新把stlink里面的固件重新刷一下。stlink里面实际上是一块stm32单片机。手头上的用stlink,如上图的里面是一块stmf101c8t6,但网上找到的固件都是stm32f103c8tc6的,有的博客说这两个是通用的,但是经过我的测试发现,103的stlink固件在10原创 2022-06-28 17:45:03 · 7678 阅读 · 19 评论 -
一文搞懂单片机驱动8080LCD
还在为单片机驱动LCD苦恼吗?一文彻底搞明白LCD屏幕的初始化配置及显示原理。以及代码实现。原创 2022-06-01 19:48:55 · 10870 阅读 · 4 评论 -
GD32F4串口dma接收问题解决
1、问题描述在使用gd32f450时,由于之前没有使用过,所以不太熟悉。板子拿到首先要调试下串口收发,串口接收采用dma。但是遇到这样的问题,第一次接收正常,但是后面就接收不到了。经过调试,串口空闲中断是可以进入。但是得到的数据长度全部是0void USART1_IRQHandler( void ){portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; uint16_t usart1_rx_len = 0; uint8_t data = 0; i原创 2022-05-25 15:24:23 · 8742 阅读 · 8 评论 -
GD32测量pwm波频率以及占空比
1、需求最近做的一个项目,其中有一个传感器输出是pwm波形,频率代表速度,频率越高速度越快。不同的占空比代表不同的故障类型。占空比10%~90%,频率范围20hz ~1khz。基于以上的需求,单片机要实现两个功能:1、测量频率2、测量占空比这怎么玩呢?从没搞过啊。2、需求分析经过查找资料以及参考正点原子的教程,发现单片机的定时器的输入捕获功能能够实现该功能。2.1分析如上图所示,测量占空比和测量频率实际上就是测量波形的长度。对于占空比,就是测量T2与T1时刻的差值对于频率,就是测量T原创 2022-05-20 20:16:27 · 8092 阅读 · 7 评论 -
stm32移植lvgl
1、lvgl简介lvgl是一款全部用c语言实现的ui图形库,对硬件的要求比较低,可以较为流畅的运行在单片机上。并且完全开源,对按钮,触摸,编码器旋钮等支持的非常到位。且开发的界面较为美观,符合时下主流的审美。目前最新版本已经更新到了8.3版本,官网地址为https://lvgl.io/。本次移植使用的是8.1版本。下载链接为https://github.com/lvgl/lvgl/releases/tag/v8.1.02、lvgl源码下载完成后接下,源码根目录如下移植需要用的目录是src和exa原创 2022-05-11 14:00:54 · 8324 阅读 · 2 评论 -
STM32F107 PB3做输入时会跳变
当打开Trace 时,PB3值会一值跳变,问题原因未知,PB3为JTAG TDI口。暂时先记录下原创 2022-04-06 16:48:11 · 185 阅读 · 0 评论 -
keil MDK 新建项目教程
前言由于好长一段时间没有用keil mdk 软件开发mcu软件了,最近在利用零闲时间来开发个低成本的平衡小车,一开始考虑采用esp32当做主控,测试发现,esp32没有正交编码接口,无法对直流有刷电机做闭环控制。想来想去,最后还是觉得采用stm32来做主控比较合适,主要是找到了几片stm32f103c8t6的存货。要知道今年stm32芯片价格翻了好几倍,买新的太不划算了。这也是一开始想用esp32来开发的原因,便宜。stm32开发最好用的还是软件还是keil,这是对比了其他几种软件,keil启动编译原创 2021-11-10 16:46:48 · 6596 阅读 · 0 评论 -
2021-09-23
Keil MDK 配置梳理1、生成bin文件要知道keil默认是不生成bin文件的,需要进行格式转化才可以生成,具体命令是D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o ../firmware/OTGROM.bin ../output/stm32prj.axf#格式为 formelf.exe --bin -o bin文件名 axf源文件在project的options选项的user的页面下添加,将上述的命令写入到 after build ,勾选原创 2021-09-23 15:00:44 · 474 阅读 · 0 评论 -
关于STm32加密【转】
摘要:知识产权的保护,如何让自已辛勤的劳动成果不被别人抄袭,采用有效的手段对IC加密是值得每一个设计者关注的问题。当然,有人说,没有解不了密的IC,的确,解密是一项技术,只要有人类在不断的研究,它就有破解的一天;但是加密后的IC会增加破解的难度与破解成本,当破解的成本大于收益时,自然就会使破解者望而却步。STM32芯片这两年销量很好,它的性能和价格都很不错,但如何对STM32进行加转载 2016-10-31 17:15:48 · 5771 阅读 · 1 评论 -
STM32烧熔丝
欢迎使用Markdown编辑器写博客最近一直在研究STM32加密的问题,偶然发现STM32具有类似烧死熔丝的操作,简要说明如下:下面是stm32f4xx参考手册中文版上的内容。(RM0090) 从以上可以看出,当向RDP寄存器写入0xcc时,将是永久性的不能用外部工具对其读写操作,但是用IAP升级的方式却可以来更新里面的APP。 利用库函数操作实际只需要3句话,F原创 2016-10-31 22:36:24 · 3578 阅读 · 0 评论 -
keil中自定义输出信息到编译窗口
写程序的过程中,会有不少的条件编译命令,但是条件编译过多会导致忘记了定义那些条件,排查起来也非常麻烦,有没有什么好的方法来查找是否是否有该定义呢? 答案是有的:那就# warning 和# error;具体如下:# warning "this is a warning message test"# error "this is a error message test"当程序编译到这个里的时候原创 2016-11-18 15:03:01 · 9052 阅读 · 2 评论 -
文章标题
本人也是新手,下面是学习串口过程中自己的一点认识,与君共享。 STM32的串口有很多值得关注的地方。TEX、TC标志位的概念: TEX(Transmit data register empty)发送数据寄存器非空标志位 TC(Transmission complete)发送完成标志位 两个标志关系很密切同时又有很大的差别,串口发送需要两个寄存器,我们可以“看见”操作的是影子寄存器——即Dat原创 2016-11-23 18:59:41 · 312 阅读 · 0 评论 -
STM32F4串口DMA配置
在使用串口时,一般采用查询发送,中断接收。但当要接收一串很长的数据时,每收到一个字节进入一次串口中断,有可能会导致中断占用时间过长。如果有一种方式,能够让串口收完一串数据,才进一次中断,那将是对写底层驱动的人来说,是极其好的一件事。经过查资料看手册,发现可以采用串口空闲中断和DMA接收来实现这个功能。具体更详细的说明后续补充,现只贴出代码,以供参考。 调试的过程中发现几个问题: 1、要串口初始化原创 2017-03-22 21:01:36 · 2679 阅读 · 1 评论 -
STM32F4 FPU简单设置
第一步: 在stm32f4xx.h中定义宏__FPU_PRESENT ; __FPU_USED #define __CM4_REV 0x0001 /*!< Core revision r0p1 */#define __MPU_PRESENT 1原创 2017-10-10 11:23:08 · 14244 阅读 · 1 评论 -
canopen PDO传输疑问
最近做一个项目碰到的问题,系统中有三个can站,一主二从,主站为主控制模块,从站A控制电机A转动,从站B控制电机B转动,考虑命令传输的延迟,想把A和B的速度命令放到一条PDO里控制。 具体的配置如下: 主站TPDO配置 1A00[1] = 0x20c80110 1A00[2] = 0x20c80210 1A00[3] = 0x30020008 1A00[4] = 0x30070008从站原创 2017-10-31 11:04:13 · 3900 阅读 · 4 评论 -
Stm32F407与W5500用DMA通信
详见https://javakys.wordpress.com/2014/09/04/upgrade-w5500-throughput-on-nucleo-stm32f401re-using-spi-dma/转载 2017-12-07 10:18:07 · 5069 阅读 · 0 评论 -
FreeRTOS学习
事件组 configUSE_16_BIT_TICKS为1时可以存储8个时间位,为0时可以存储24个事件组 动态与静态创建时间标志组EventGroupHandle_t xEventGroupCreate(void)EventGroupHandle_t xEventGroupCreateStatic(StaticEventGroup_t *pxEventGroupBuffer)清除事件...原创 2018-03-07 19:43:44 · 381 阅读 · 0 评论 -
初探STM32掉电复位PDR
STM32F407 144脚封装的第143脚PDR,一直没有关注过,板子上是直接对其悬空处理,悬空到底对系统有没有什么影响,查看了STM32F4系列的技术手册也没有发祥有相关说明。只是说明了PDR脚要接到VDD或者VSS(根据芯片不同而不同),没有说明悬空会怎么样?若有大牛知道望告知一二不胜感激! PDR全称为power down reset,也就是掉电复位,RM0090参考手册上是这样描述的:原创 2016-11-04 18:15:38 · 15320 阅读 · 1 评论