摘要: 在理解了双缓存池和环形缓存池之后,我又细想了下这个流程: 串口发送数据过来,当前设备需要先将数据存入环形缓存池,然后同一时间,就需要对环形缓存池的数据进行解析处理了(要是延时想让缓存池积累点再处理,可能会导致缓存池溢出) 处理的时候也是一个字节一个字节处理的,首先就是查询缓存池的两个指针,判断池子里 阅读全文
posted @ 2026-04-05 22:27 青春猪头青年 阅读(7) 评论(0) 推荐(0)
摘要: 我就只讲讲我对串口的新的领悟: 原来串口按照帧来传输是真的,比如数据位是7个,那么收到的也是7个数据位,那问题就来了,不应该按照一个字节8个位来解码吗,我是不是应该等下一帧传过来,从里面取一位补齐8位? 实际上就是,不需要,如果设置的数据位是7个,那么接收到这7个数据位之后,就直接处理了,自动补一个 阅读全文
posted @ 2026-04-05 14:44 青春猪头青年 阅读(20) 评论(0) 推荐(0)
摘要: 昨天学会了使用中断,于是准备快速测试一下中断嵌套,然后学后面的,结果,怎么又中招了! 先说结论,对于EXTI引脚PC13来说,它是与众不同的,意思就是我同样的配置同样的代码,其他的GPIO引脚可能都已经正常触发了,但是PC13检测不到电平的变化,也就没法触发中断! 一开始PC13中断失败了我觉得挺奇 阅读全文
posted @ 2026-04-05 00:16 青春猪头青年 阅读(47) 评论(0) 推荐(0)
摘要: 由于STM32HAL库没法写入日期到RTC计数器,只能用转换日历的方式直接写入寄存器值,这也导致了一个问题,HAL配套的闹钟也不能用HAL库了,只能用类似的方法做,但是实践起来还是没那么容易,兜兜转转花了五六个小时,甚至都把EXTI中断梳理了一遍,才终于碰巧解决了。 首先要说的是,当在CUBEMX中 阅读全文
posted @ 2026-04-04 02:40 青春猪头青年 阅读(27) 评论(0) 推荐(0)
摘要: 首先中断都需要配置AFIO,这个是用于引脚的复用功能的,因为EXTI中断没有那个IO口的引脚默认是EXTI模式的,所以如果想用EXTI,必须把这个打开。 AFIO也是一个独立的寄存器组,它有独立的clock时钟门,所以需要先开时钟,再进行配置,具体配置哪个位,参考hal库。 然后针对EXTI总结的说 阅读全文
posted @ 2026-04-04 00:09 青春猪头青年 阅读(21) 评论(0) 推荐(0)
摘要: 这个问题困惑了我好久,借着AI的发展,我也顺便把这个问题给疏通一下 STM32设置72Mhz频率和设置8Mhz频率跑同一个简单程序的时候,比如说LED翻转之类的,72Mhz的耗电量比8Mhz高很多,据说是五六倍。 预备知识:CPU 每一个时钟周期,内部无数寄存器、触发器、总线、门电路都要翻转一次,每 阅读全文
posted @ 2026-04-03 22:52 青春猪头青年 阅读(18) 评论(0) 推荐(0)
摘要: 常量存在flash当中,也就是const修饰的,只要是用了这个修饰词,就存在flash,代码运行时也不会拷贝到RAM中 因为就CPU读取这方面来说,读取RAM的速度和读取Flash的速度都是一样的(好像是基本一样,AI说的) 变量一定会在RAM中开辟空间,有初始值的变量还会在Flash中占用空间 指 阅读全文
posted @ 2026-04-03 14:12 青春猪头青年 阅读(15) 评论(0) 推荐(0)
摘要: 今天想再测试一下RTC时钟,因为发现hal库里有个能够读写rtc计数器数据的函数,又不想破坏我原本那块板子的RTC程序(好不容易跑号,想让它跑几年,我的宝贝啊),然后就随便拿了块最小系统板子。 然后,悲剧开始了,浪费了我两个小时。 是真的难受,我竟然连一个点灯的程序都没跑通!我本来以为自己已经学得够 阅读全文
posted @ 2026-04-02 19:06 青春猪头青年 阅读(18) 评论(0) 推荐(0)
摘要: 1.最近学习hal库开发stm32,练习到了RTC时钟这一块,感觉真的是踩了个大坑,没想到会花费我两天的时间忙里忙外! 2.先说下总结性的:我使用hal库始终只能把时间写进RTC计数器,日期没成功过。然后放弃了hal库的这一套处理RTC计数器生成日历的逻辑,只保留其最基础的功能:比如使能时钟, 取消 阅读全文
posted @ 2026-04-02 15:58 青春猪头青年 阅读(22) 评论(0) 推荐(0)