摘要: 2. volatile 关键字* 中断中使用的全局变量必须使用 volatile 修饰* 读取外设的变量必须使用全局变量* 线程间通信或者同步用变量, 使用volatile修饰, 避免cpu从缓存中取数 3. 循环性能优化* 如果循环次数是确定的, 循环截止条件使用变量而不要调用函数* 循环中, 迭 阅读全文
posted @ 2024-06-27 17:43 TheShore 阅读(7) 评论(0) 推荐(0) 编辑
  2024年7月30日
摘要: 背景:主从机交互协议中,需要针对不同控制字封装回复消息接口。本文使用变长数组特性和零长数组特性对这类接口进行统一封装。 1 #pragma pack(1) 2 typedef struct { 3 uint8_t magic; 4 uint8_t len_H; 5 uint8_t len_L; // 阅读全文
posted @ 2024-07-30 14:22 TheShore 阅读(1) 评论(0) 推荐(0) 编辑
  2024年7月4日
摘要: 1. AMR初始化过程 2. 硬件初始化(RT-Thread中使用此方式执行初始化流程) 阅读全文
posted @ 2024-07-04 15:51 TheShore 阅读(2) 评论(0) 推荐(0) 编辑
  2024年4月25日
摘要: 注:本文原型摘自《架构整洁之道》第5章 面向对象编程,经过作者加工修改 1. 封装特性 封装是面向对象编程的基本思想之一,通过采用封装特性,我们可以把一组相关联的数据和函数圈起来,使圈外面的代码只能看见部分函数,数据则完全不可见。 然而由于C++编译器必须知道每个类实例的大小,因此要求类的成员变量必 阅读全文
posted @ 2024-04-25 15:52 TheShore 阅读(17) 评论(0) 推荐(0) 编辑
摘要: ​ 【问题】: 使用vscode配置c/c++环境时,提示无法构建失败。 【解决方案】: 1. 当前结合网上找的资料已经检查过,tasks.json和launch.json文件,并无配置错误。 2. F5调试时,终端输出错误调试信息如下: 启动调试任务时,执行了2条命令。 1)cmd /c chcp 阅读全文
posted @ 2024-04-25 14:51 TheShore 阅读(1019) 评论(0) 推荐(0) 编辑