STM32
文章平均质量分 51
时间自由
这个作者很懒,什么都没留下…
展开
-
温湿度传感器【1】HDC1080
如上图所示为可读写的寄存器,其中 0xFB~0xFF 是读取 ID 相关的,可以上电后读取 ID 判断芯片是否存在。0x00 可以读取温度,0x01可以读取湿度,0x02主要是写配置信息。但是这里涉及到一个问题,就是采集数据是需要时间的,不是立刻就能采集到数据的,根据不同位数的采集时间,采集数据需要几毫秒到十几毫秒不等。一款可以检测环境温度和湿度的传感器,外部接口是通用 IIC 接口,并且采集数据的速度比较有限,特别是数据的位数比较高的情况下,需要毫秒级别的等待时间。,这样是一直采集不到数据的。原创 2024-11-14 09:18:54 · 148 阅读 · 0 评论 -
MDK Keil5 关键配置
针对 MDK 界面配置功能的记录,特别是在重新移植工程时出现各种问题,这里记录一下。建议勾选,不勾选出现:下载代码不运行,在线调试却可以运行。建议勾选,不勾选出现:使用dwt定时器第一次下载程序卡死。原创 2024-08-07 09:08:10 · 407 阅读 · 0 评论 -
STM32 使用内部晶振导致 Can 通讯异常
STM32F407 执行板间通讯,一段时间后 CAN 通讯异常,进入 CAN 错误中断,CAN 节点被隔离。STM32 使用内部晶振,仪器运行一段时间后板卡温度上升(散热设计不足),导致芯片时钟异常。STM32 使用外部晶振。原创 2023-10-07 15:45:41 · 918 阅读 · 1 评论 -
STM32 宏定义实现函数错误返回
* 这种写法怎样 注册宏定义,故障返回批量处理 注册函数不能写在线程内部 */{ \} \/* 注册自带错误返回的函数接口 如果返回值false,所在的函数也会退出并返回false */原创 2023-10-07 11:18:24 · 267 阅读 · 0 评论 -
STM32F407 越界问题定位
如果是越界进入硬件错误中断,MSP 或者 PSP 保存错误地址,跳转前会保存上一次执行的地址,lr 寄存器会保存子函数的地址,所以如果在 HardFault_CallBack 中直接调用 C 语言函数接口会间接修改了 lr,为了解决这个问题,直接绕过 lr 的 C 语言代码,用汇编语言提取 lr 寄存器再决定后面的操作。由于 STM32 加入了 FreeRTOS 操作系统,可能导致无法准确定位,仅供参考(日常编程需要考虑程序的健壮性,特别是对数组的访问,非常容易出现越界的情况)。原创 2023-10-07 10:23:18 · 501 阅读 · 1 评论