老师,一个u16变量只在初始化(在线程初始化之前,是上电后初始化)的时候会改

🔍 溯源 ✍️ Jack | 📅 2025-03-25 | 👍 0 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/C语言 #质量/普通

原帖 | Jack | 2025-03-25 11:31 | 👍0 | 阅读约1

老师,一个u16变量只在初始化(在线程初始化之前,是上电后初始化)的时候会改, 并且可改的值有限,初始化后都是读。
我现在有两种方法,第一种就是把变量设置为普通全局ram变量;第二种是先定义一个const u16 p,再把可改的值设置为const u16,初始化的时候p=&值,后面读变量用p。请问第二种做法会好一点吗?

第二种可以,比第一种会更安全一点。就是需要多消耗一个指针数据资源。或者你和其他线程通过中间接口进行传递,类似于队列的方式。其他任务触碰不到你的数据。你保证自己不会误改就可以。


相关笔记