C++ 检查除法是否给出余数0
您好,我正在编写一个arduino程序,我必须检查一个变量除以60是否得到余数0。此变量每秒增加1。我试着写作C++ 检查除法是否给出余数0,c++,arduino,division,C++,Arduino,Division,您好,我正在编写一个arduino程序,我必须检查一个变量除以60是否得到余数0。此变量每秒增加1。我试着写作 if (variable % 60 == 0){ ... } 但即使变量是3,6,9,它也能工作 我的确切密码是: if (millis()/1000 != prevsec){ prevsec = millis()/1000; if (millis() % 60 == 0){ Serial.print("light"); Serial.prin
if (variable % 60 == 0){
...
}
但即使变量是3,6,9,它也能工作
我的确切密码是:
if (millis()/1000 != prevsec){
prevsec = millis()/1000;
if (millis() % 60 == 0){
Serial.print("light");
Serial.println(analogRead(0));
tempC = analogRead(1); //read the value from the sensor
tempC = (5.0 * tempC * 100.0)/1024.0; //convert the analog data to temperature
Serial.print("tempin");
Serial.println((byte)tempC);
}
Serial.println(millis()/1000);
}
请告诉我我做错了什么
提前谢谢 看起来好像你在除以60毫秒。您应该划分秒数。值得阅读您正在使用的函数的文档。或者至少凭直觉想想。。。你希望一个名为毫秒的函数返回什么单位的时间?明白了吗?他显然知道它们是什么单位,因为他除以1000来设置prevsec。好的,伙计们,谢谢,我刚刚忘记除以1000来获得秒。所以,你应该避免多次读取毫秒,因为它当然可以在两次调用之间改变。对其采样一次,然后将该变量用于函数的其余部分。在您的情况下,您甚至可以转换为秒一次,然后重新使用。