其他分享
首页 > 其他分享> > Arduino多线程SCoop库

Arduino多线程SCoop库

作者:互联网

我用了一块多年前存在手里的nano板子,也是个初次使用arduino,想着能不能用用多线程,查到一篇 Arduino的多线程_TEST_PROGRAM_NONE-CSDN博客_arduino 多线程,于是我决定下载最后的SCoop来试试,现在记录一下遇到过的问题

1、安装,如引用所说,下载GitHub - Varsion/SCoop-Arduino: Arduino多线程

主要要用到的是SCoop这个文件夹下的东西

 将SCoop这个文件夹拷贝到libraries文件夹下

重启一下工程,添加#include <SCoop.h>,编译,然后报错,如下

搜索到了`timer0_overflow_count' referenced in section `.text' of ... defined in discarded section `.text' of wiring.c.o (symbol from plugin) · Issue #4 · fabriceo/SCoop · GitHub

该错误的大概意思是:

现在这个新的Arduino IDE中的编译器不再保留‘timer0overovercount’变量了。

解决方法是,双击错误信息,跳转到SCoop.cpp的227行

在上边找到184行,在184和185之间添加一行,强制编译器认为这个量可用

extern volatile unsigned long timer0_overflow_count; // use this variable which is incremented at each overflow
static unsigned long tell_compiler_that_i_really_need_this = timer0_overflow_count; // ADD THIS LINE - ugly hack to force the compiler to REALLY keep timer0_overflow_count
static inline micros_t SCoopMicros16(void) __attribute__((always_inline));

然后就能编译通过了。

 

 

 

 

标签:count,Arduino,SCoop,timer0,overflow,多线程
来源: https://blog.csdn.net/qq_35758003/article/details/120802356