
STM32
stone8761
这个作者很懒,什么都没留下…
展开
-
Cortex M4 SysTick 详解
Cortex M4 提供了 SysTick 功能,SysTick 是一个 24bits 定时器,可以通过简单的编程提供一个周期中断,常用于作为操作系统的”心跳“。一、寄存器1、STK_CTRL2、STK_LOAD3、STK_VAL二、时钟源SysTick 可选择两种时钟源,通过寄存器 STK_CTRL 的 CLKSOURCE 位来选择,‘0’ 表示时钟源为 AHB(HCLK)的 1/8,'1' 表示时钟源为 AHB(HCLK)。三、重装载与中断通过寄存器.原创 2022-02-15 17:46:13 · 2477 阅读 · 0 评论 -
STM32 调整重启电压阈值 BOR
STM32 支持调整重启电压阈值,即 BOR。重启电压阈值指的是,如果电源电压低于此阈值,则 MCU 进入复位状态。有三个级别可以设置,level 1、level 2、level 3。以 STM32F412RE 为例,level 1 对应 2.13V、level 2 对应 2.44V、level 3 对应 2.75V。此设置配置在 MCU 内部 FLASH 中的选项字中,地址为 0x1FFFC000: 我们可以通过 FLASH 选项字控制寄存器 F...原创 2022-01-15 17:16:50 · 5272 阅读 · 0 评论 -
keil5 Device Database 灰色问题
使用 keil5 安装 GD 软件包后打开工程依然无法搜索到对应的芯片型号(GD32F450)。The Project references device, files or libraries that are not installed. Download and install:但可以确认 GD 软件包已经正常安装,可以在 file ---> Device Database 中搜索到对应的型号(若此步未能搜索到则需要安装 GD pack 包,百度搜索即可)分析原因是用 k原创 2021-04-12 20:37:57 · 11764 阅读 · 4 评论 -
keil 调试模式下拷贝数据信息
keil调试下可以很轻松的查看数组内的数据,但确无法拷贝出来。这时可以通过keil的function editor功能,生成一个可以打印数组的命令即可。1、打开 Debug ---> function editor2、导入实现准备好的功能文件 a.ini,内容如下:FUNC void displayvalues(void) {int idx;exec("log > MyValues.log");for (idx = 0; idx < 128; idx++) {.原创 2020-07-10 15:44:17 · 4830 阅读 · 3 评论 -
STM32锁死解锁方法
STM32程序中如果设置相关引脚电平会导致jlink无法连接,此时STM32上电后执行程序操作IO管脚,jlink无法更新程序和调试。这是相当于STM32芯片被锁死。解锁方式如下:1、芯片断电,连接jlink线;2、将芯片复位脚接地;3、保持复位脚接地状态让芯片上电;4、点击jflash工具connect设备;5、在connect后立即将RST与GND断开;6、此时可以显示正常连接,使用jflash擦除芯片内部flash即可恢复芯片;...原创 2020-07-10 15:40:00 · 9271 阅读 · 0 评论 -
STM32 SPI DMA 与 I2C DMA 冲突
现象为直接操作I2C DMA模式读写EEPROM数据正常,一旦进行一次SPI1 DMA传输后,EEPROM读写失败,示波器查看没有I2C数据部分波形。分析发现EEPROM使用I2C3,I2C3的接收通道与SPI1的发送通道公用DMA1通道的通道3。但在DMA驱动中已加入互斥操作,逻辑上这样操作是没有问题的。解决:DMA通道是多个外设公用的,比如I2C3的接收与SPI1的发送公用DMA1_CH3。在每个外设中会有独立的DMA通道开关,需要使用是打开,使用结束后需要关闭,否则会影响其他外设。..原创 2020-07-10 15:38:57 · 2133 阅读 · 2 评论 -
Jlink v9 固件重刷
最近因为安装了MDK4.70A,导致我旧的JLINK V8 不能下载程序了,,所以重刷了我的固件,现在能完美支持MDK4.70A,写下此篇,希望能帮助遇到同样问题的童鞋!先上图:新版JLINKV8旧版JLINK-V8安装附件SAM-PROGV2.4(需要在32位系统中安装),安装后出现两个图标以上准备后,我们正式开始,注意各步顺序:原创 2015-07-02 17:23:23 · 7207 阅读 · 1 评论