Questions tagged «variables»

4
当const int,enum或#define更有意义时,为什么要对引脚使用int变量
当引脚在整个代码执行过程中不太可能更改时,为什么人们使用变量来指定引脚号? 很多次,我看到int有人用它来定义引脚, int led = 13; 当使用 const int const int led = 13; 或enum或#define #define LED 13 更有意义。 甚至在Arduino网站上的教程中,例如,大多数人都运行的第一篇教程Blink。 我读的地方是const int优于#define。为什么从一开始就不鼓励这样做,而不是从一开始就不让人们养成不良习惯?我注意到它有一段时间了,但是最近它开始激怒了我,因此成为了问题。 存储器/处理/计算明智是const int,enum,或就此而言#define,比一个普通更好int,即占据较小的存储器,存储在不同的存储器(闪存,EEPROM,SRAM),更快的执行,更快的编译? 这似乎是的重复。对于常量使用#define或const int更好吗?,但我要解决的问题是人们为什么使用变量,不使用变量时性能如何提高,而不是哪种类型的常数更好。

4
如何声明可变大小的数组(全局)
我想制作三个相同长度的数组。根据文档,必须将int myArray[10];Array 定义为可以用10代替已知长度(另一个整数)或用array填充的数组{2, 3, 5, 6, 7}。 但是,当我尝试声明一个值int arrSize = 10;,然后再声明一个基于该大小的数组时int myArray[arrSize];,得到以下内容:error: array bound is not an integer constant。 有没有一种方法可以可变地确定数组大小,还是只需要对它们进行硬编码?(我被告知硬编码是不好的,要不惜一切代价避免。)

2
有pow()的非浮点替代方法吗?
我已经在Arduino网站上搜寻了LANGUAGE REFERENCE,但找不到与Float相当的pow() 东西,就像我必须丢失一些大东西,但是对于我的生命,我感到很沮丧!我pow()在Math标题下的FUNCTIONS列中找到了(就像我期望的那样),但是它说[base]和[exponent]这两个参数都是(浮动的)。在“数学”标题下只有六个其他条目;它们似乎都不是整数版本。我要做的就是使用从0到10的指数生成2的幂。例如2 ^ 0 = 1然后2 ^ 1 = 2然后2 ^ 2 = 4然后2 ^ 3 = 8然后2 ^ 4 = 16然后2 ^ 5 = 32然后2 ^ 6 = 64然后2 ^ 7 = 128然后2 ^ 8 = 256然后2 ^ 9 = 512然后2 ^ 10是1024 使用浮点数是我做到这一点的唯一方法吗?我开始觉得自己与现实背道而驰,实际上已经在计算我的药物治疗了,但是我是正确的。我为造成您浪费时间的这种疏忽大意先向您道歉,但我已经浏览了所有9页标签,并做了我能想到的任何搜索。我承认我并没有花太多时间,但是我确定这只会是五分钟的事情!

2
如何获取变量的数据类型?
我正在使用Arduino,我想知道是否有一个函数返回变量的数据类型。也就是说,我想运行如下内容: // Note: 'typeof' is a sample function that should return the data type. Serial.println(typeof(myVar));

2
如何使用计时器更新ISR中的变量
我正在尝试使用计数器检查Timer3的频率。声明为易失性的计数器的值在ISR中递增,并且每秒在主循环中显示总和,并将该值重置为零。 计时器已正确设置。(如果选择3Hz计时器,我会看到LED闪烁) 问题 计数器不增加。这是输出: Setup Completed tick: 1 tick: 0 tick: 0 tick: 0 码 volatile int cont = 0; void setup() { Serial.begin(9600); pinMode(13, OUTPUT); // Initialize Timer cli(); // disable global interrupts TCCR3A = 0; // set entire TCCR3A register to 0 TCCR3B = 0; // same for …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.