除了选择控制器类型外,Arduino程序还需要选择以下内容:
1 串口通信波特率:如果你需要通过串口与计算机或其他设备通信,需要在程序中设置波特率,以确保通信正常。
2 引脚模式:在程序中需要设置引脚的输入输出模式,例如输入、输出、PWM输出等。
3 引脚初始状态:在程序中需要设置引脚的初始状态,例如高电平、低电平、不确定等。
4 库文件:如果你需要使用一些库文件来扩展Arduino的功能,需要在程序中包含相应的库文件。
5 延时时间:在程序中需要设置一些延时时间,以等待特定的 *** 作完成,例如等待传感器稳定、等待数据接收完成等。
6 变量:在程序中需要定义一些变量,用于存储传感器数据、状态信息等。
7 函数:在程序中需要定义一些函数,用于实现特定的功能,例如读取传感器数据、控制舵机运动等。
这些内容都需要在程序中进行设置,以确保程序能够正确地运行。
要记录arduino从开始运行到断电的时间,可以使用内置的计时函数millis(),该函数可以记录自arduino启动以来的毫秒数,而不会受到程序中delay()函数的影响。可以将millis()的值存储在EEPROM中,以便在arduino重新启动时仍然可以访问它。可以编写一个简单的程序,以使用millis()记录时间,根据需要存储它,并在需要的时候读取它以计算arduino的运行时间。同时,也可以通过外部实时时钟模块来实现更精确的时间记录,不受arduino重启的影响。
#include <MsTimer2h>
const int INTERVAL = 2;
const unsigned int EVERY = 1000; // 每一千次调用 ppp( )一次
double sum, sss; // 和, 平方和
unsigned long n = 0;
unsigned long m = 0;
void ppp( ) {
int average;
int stdErr;
average = sum / n;
stdErr = sqrt((sss - (sum/nsum) ) / n );
Serialprint("average:");
Serialprint(average);
Serialprint(" ");
Serialprint("stdErr:");
Serialprint(stdErr);
}
int k;
unsigned int gg=0; // for check
void ggyy() {
k = analogRead(A0);
++n;
sum += k; // 总和
sss += kk; // 平方和
if(++gg == EVERY){
gg=0; // clear counter
ppp( );
m = millis();
Serialprint("#S|LOGTEST|[");
Serialprint("Time:");
Serialprintln(m);
}
}
void setup(){
Serialbegin(9600);
MsTimer2::set(INTERVAL,ggyy);
MsTimer2::start();
}
void loop() {
delay(800000);
MsTimer2::stop(); delay(0); MsTimer2::start();
}
代码框架如下:
void setup() {
// put your setup code here, to run once:
//初始化 *** 作代码放在setup函数中,他们将在程序启动的第一步得到执行 并只执行一次
}
void loop() {
// put your main code here, to run repeatedly:
//将程序的主要逻辑代码,放在loop里。他们将会反复执行下去。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)