2025年12月26日

超时宏定义

摘要: 点击查看代码 #define CHECK_TIMEOUT(condition, msg) \ do { \ uint32_t timeout = 100000; \ while(condition) { \ if(timeout-- == 0) { \ printf("[ERROR] %s | Fi 阅读全文

posted @ 2025-12-26 18:33 程序员纽扣 阅读(4) 评论(0) 推荐(0)

2025年12月21日

stm32硬件I2C时钟为啥不稳定

摘要: 今天在做i2c实验遇到了一个问题: 用逻辑分析仪抓取scl、sda波形,可以看到scl时钟有抖动的情况,导致解析出错误的从机地址0x68,正确从机地址应该是0x50。 疑惑点在于为什么地址错误了从机还会应答?怀疑可能存在的情况: logic软件解析错误,实际mcu和at24c02通讯数据是正常的(软 阅读全文

posted @ 2025-12-21 15:54 程序员纽扣 阅读(14) 评论(0) 推荐(0)

stm32上电后时钟初始化

摘要: stm32上电后启动文件会自动调用systeminit函数对时钟进行设置,没有更改的标准库默认是使用的HSI时钟,我们可以根据需要自行更改时钟配置 更改后可以通过函数RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)获取时钟速率 typedef stru 阅读全文

posted @ 2025-12-21 14:56 程序员纽扣 阅读(7) 评论(0) 推荐(0)

2025年12月20日

hal库i2c读写AT24C02

摘要: #include "i2c.h" /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ I2C_HandleTypeDef hi2c1; /* I2C1 init function */ void MX_I2C1_Init(void) { /* USER COD 阅读全文

posted @ 2025-12-20 13:29 程序员纽扣 阅读(8) 评论(0) 推荐(0)

导航