shejixiaowang12 发表于 2022-5-6 08:50:21

请问不同任务间可以共享全局变量吗

请问不同任务间可以共享全局变量吗,想在不同任务之间用全局变量来对做标志判断。

eric2013 发表于 2022-6-7 13:37:00

没问题,变量定义加上前缀__IO即可,目的是防止编译器优化,这样就可以一个任务里面写,其它任务都可以做读操作。

QWFaichixuegao 发表于 2023-6-14 11:58:49

eric2013 发表于 2022-6-7 13:37
没问题,变量定义加上前缀__IO即可,目的是防止编译器优化,这样就可以一个任务里面写,其它任务都可以做读 ...

硬汉哥,举个例子,我用canfestival生成的文件,里边各个索引有大量的全局变量,我在RTOS其它任务中、中断中使用这些全局变量最优的方式有哪些呢,可以简单说几种方式吗,我自己去查找研究

eric2013 发表于 2023-6-15 08:24:41

QWFaichixuegao 发表于 2023-6-14 11:58
硬汉哥,举个例子,我用canfestival生成的文件,里边各个索引有大量的全局变量,我在RTOS其它任务中、中 ...

那个中断,CAN中断吗,可以任务里面开关CAN中断。也可以中断里面不处理,发任务消息后,专门在任务里面处理。

QWFaichixuegao 发表于 2023-6-15 09:24:09

eric2013 发表于 2023-6-15 08:24
那个中断,CAN中断吗,可以任务里面开关CAN中断。也可以中断里面不处理,发任务消息后,专门在任务里面处 ...

就是canfestival配置生成的文件中字典变量会由一个定时器中断周期的不停变更为其它节点PDO过来的值,然后我有一个task,task中周期将这些全局的字典变量拼成一串JSON格式。这种情况下我这个task的周期是远大于定时器中断更新全局变量的频率的,这种情况我task访问这些全局变量有什么比较好的方式吗

eric2013 发表于 2023-6-16 11:04:46

QWFaichixuegao 发表于 2023-6-15 09:24
就是canfestival配置生成的文件中字典变量会由一个定时器中断周期的不停变更为其它节点PDO过来的值,然后 ...

这种情况下,你的JSON字符串拼接仅仅是对变量的读操作吧,如果是的话,变量仅需加个__IO, 防止编译器优化即可。任务里面不用做任何其它处理。

QWFaichixuegao 发表于 2023-6-19 18:33:28

eric2013 发表于 2023-6-16 11:04
这种情况下,你的JSON字符串拼接仅仅是对变量的读操作吧,如果是的话,变量仅需加个__IO, 防止编译器优化 ...

感谢感谢,如果有写操作呢,赋值之类的,并且又很多任务都有赋值写入的情况
页: [1]
查看完整版本: 请问不同任务间可以共享全局变量吗