- 博客(11)
- 收藏
- 关注
原创 SPi从机发送数据中途被中断问题
以上内容总结为:SPI关闭时需要有一个正确的顺序,如果不正确则会导致位置情况,并且描述了入俄和正确关闭spi,中间一段说的时当关闭spi后,如果rx缓冲寄存器中有内容,可以通过RCC_APBiRSTR 寄存器重置SPI 接受缓冲器,我从这部分内容得到启发,认为可以通过这个方法重置SPI发送缓冲器,事实证明确实如此。那问题来了,有没有办法清空缓冲寄存器的内容,我阅读完SPI中的内容后的回答时没有,但有一个别的方法,重置SPI,见下图。说个前提,这个spi从机是从f1系列的芯片移植到L4的芯片上的。
2025-09-29 16:56:19
311
原创 stm32 栈回溯工具——移植和使用介绍
目前该方案还在完善中,本人尝试在 L4,F4,G4上做过移植,均可以使用,理论上,只要架构为ARM V6/V7均可以支持该方案,欢迎大家来和我交流讨论代码仓库在以下链接Stm32_CoreDump: 基于Stm32的CoreDump系统,借鉴韦东山老师的方案韦东山老师的工具在群里面可以拿到,我这边也提供一下通过网盘分享的文件:百问网单片机RTOS调试专题_CoreDump使用方法.zip。
2025-09-12 17:16:27
404
原创 stm32 栈回溯工具——功能和原理介绍
以上的工程我放在我的gitee上,代码仓库如下韦东山老师的工具在群里面可以拿到,我这边也提供一下通过网盘分享的文件:百问网单片机RTOS调试专题_CoreDump使用方法.zip链接: https://pan.baidu.com/s/14kjwgfRKtEhwOjBnJRHjRg 提取码: 9g9q如果你只想快速使用,你只需要设置 COREDUMP_SP_SIZE大小为你最大栈的最大值。
2025-09-09 14:42:25
1058
原创 Stm32 Flash 及 Ram 内存管理
该文章的背景是我使用keil工程写了一个bootloader,给另外用stm32cubeide的app使用,原bootloader工程是已经验证过的方案,但在使用的过程中发现bootloader跳转后的sp地址不对,在解决这个问题的路上学到诸多内容,特此分享。
2025-08-26 17:20:52
628
原创 Unity 单元测试框架的移植与使用
在开始单元测试前需要调用UNITY_BEGIN(),用于开始记录单元测试内容,在结束单元测后需要调用UNITY_END,用于输出单元测试结果,当编写好单元测试单吗后,使用RUN_TEST执行,编写单元测试结果判断条件,使用TEST_ASSERT_断言来判断,一下是实际样例。
2025-08-14 16:43:40
512
原创 基于jlink-RTT-view 和 lettershell的shell管理工具
在我们实际的项目里,很多时候都没有串口留出来用于调试,这样增加了调试的难度,做一些测试也没有预留的接口可以修改,很麻烦,因此我这边整合了RTT-view和lettershell,提供了一套只需要使用jlink即可使用shell工具调试代码的功能。
2025-08-14 16:21:40
915
原创 keil cmsis Failed to launch stm32cubemxLauncher
事实上,我们可以看到3.00版本的文件里,确实没有MDK/CubeMX/STM32CubeMxLauncher,只有2.xx版本有这个文件,而kei是默认使用最高版本的,因此只要卸载2.xx以上的版本的pack就可以,不过我倒是奇怪,keil官方3.xx版本为啥没有安装2.xx的文件?注意,此时我的pack版本实际上为3.00,为了复现这个问题,我重现安装了3.00的pack,最后keil显示有bug,我也才发现。简而言之,是再使用CMSIS时,同时使用内部cubemx进行配置,出现的问题,问题如下图。
2024-12-03 10:15:30
416
原创 stm32 hal NANDFLASH+FATFS+U盘
工作中用到到NandFlash,之前用的SDIO+FATFS+U盘的方案,想延续这个方案,但是发现网上的案例并不多,最后自己手撸,给大家分享一下。
2024-11-21 17:06:54
2337
原创 stm32 hal 模拟i2c
soft_i2c_WriteReg通过调用soft_i2c_WriteBytes,实现写入寄存器的功能,soft_i2c_WriteBytes发送的第一个内容是从机地址,第二个寄存器地址,第三四个内容是数据内容;先看这个结构体,这个结构体是软件i2c描述,里面包含了对sda线的读写,对scl线的写,以及每个操作的延时时间,延时函数指针,以及从机地址。代码如上,soft_i2c_Send 函数实现了发送的逻辑,soft_i2c_WriteBytes实现了发送的完整逻辑,
2024-11-15 15:31:31
1872
原创 stm32 HAL ADS1115驱动
MUX,这个是重点,实际转换的值是AINp - AINn的数值,因此我们设置的时候一般是设置100 - 111之间。MODE,单词转换模式,或者连续转换模式。
2024-09-06 15:18:20
1343
2
原创 stm32 AD7606 芯片驱动 hal库 spi通讯
这个三个引脚用于配置芯片的采样频率,只要不设置为111即可正常采样;CONVSTA CONVSTB 这两个引脚用于启动芯片采集转换,默认高电平,上升沿后,采样芯片开始数据采集RESET 用于开始采样前对芯片的复位,如果没有复位,后续采集的数据可能是乱码,只需要在开机的时候复位一次即可。RD引脚即数据通讯时钟CS引脚通讯使用,低电平有效BUSY引脚,默认低电平,下降沿表示数据转换成功DOUTA,DOUTB 使用spi通信只需要这两个引脚。
2023-12-14 23:59:03
5921
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅