- 博客(10)
- 收藏
- 关注
原创 static display_drv_t display_drv_dev[2]
摘要: static display_drv_t display_drv_dev[2]是嵌入式系统中用于管理多显示设备的驱动设计。通过static限定作用域,display_drv_t结构体封装了显示操作函数,数组形式支持双屏或多屏控制(如主屏和副屏)。其优势包括:硬件抽象(更换设备无需修改上层代码)、统一接口(结构体函数指针标准化操作)、灵活扩展(数组索引管理多实例)。典型应用如智能手表或工控屏的双屏驱动,体现模块化与跨平台思想,提升代码可维护性。 关键词:#嵌入式 #驱动设计 #硬件抽象 #多屏管理
2025-06-15 22:48:36
188
原创 IIC通信模拟器 - PyQt5实现详解
设备选择:模拟多个从设备(地址:0x10, 0x20, 0x30)信号控制:Start/Stop信号、地址传输、ACK应答、数据传输实时波形:动态绘制SCL(时钟)和SDA(数据)信号时序图交互操作:支持单步执行或分步操作。
2025-05-08 22:00:18
674
原创 状态机(纯c语言版)
本文实现的C语言状态机具有以下特点:1. 纯软件实现,不依赖任何硬件或操作系统特性2. 代码结构清晰,易于理解和维护3. 良好的可扩展性,方便添加新状态和事件4. 可直接应用于各种嵌入式系统和应用软件实际项目中,可以根据需求:- 添加状态持久化功能- 实现分层状态机- 加入状态历史记录- 开发可视化调试工具这种状态机实现方式特别适合资源受限的嵌入式环境,也适用于需要清晰状态管理的各种软件系统。附加(中文版)(小熊猫可运行)// 定义状态类型红灯状态,绿灯状态,
2025-04-29 23:46:07
1453
原创 结构体大小
2. 事实上,为了方便我们后续操作结构体中的成员,开辟空间的时候,会遵循内存对齐的方式。取数据,就一直按照4个倍数来偏移取数据.. 时间就短了,造成内存浪费。a: 1个字节 还会占用3个字节的空间【内存空洞】,总共4个字节。1. 结构体的大小,并不是直接把里面的成员大小累加得出来的。空间充分利用,但是取数据,就不好取了...2.2 对齐 【参照最大的那个成员来对齐...】3. 比起内存的浪费,时间的效率提升,是否值得呢?思考:时间换空间 or 空间换时间。
2025-04-11 13:52:31
200
原创 C语言位运算
取反,左移,右移,得出1000 0000(-128)为特殊案例,不用逆运算。出来的位置,要补内容 最高位是1就补1,如果最高位是0,就补0。位运算 注意异或(因为不知道该位具体的值)>> 运算:二进制位整体向右移动,左边空。
2025-04-11 13:48:22
163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅