一般都是用if进行没春搜选择,如果想跳出循环就要用break,跳出每一步循森粗环后枯历面的部分进入下一次循环要用continue。matlab没有goto。
先检查确认1号引脚的输入信号是否总是高电平。哦对了,0号和肢键1号引脚是板子的串口通讯要用到的历余巧,一般不用这两个引脚。你换成别的引脚来接kaiguan吧,毁派比如3号引脚
#include "xxx"#define TIME_100MS 1
#define TIME_1S 10
#define TIME_5S 50
#define TIME_10S 100
#define TIME_30S 300
typedef struct
{
uint16_t modeChange
uint16_t ledShow
}timeCnt_t
timeCnt_t timeCnt
const byte ledPin = 13 // Use the LED on pin 13.
void setup(void)
{
//system init...
// LED init...
pinMode(ledPin, OUTPUT)
digitalWrite(ledPin, LOW) // Turns the LED off.
}
void loop (void)
{
//task 1
if (rvotage > 49 && rhomecr < 4 && digitalRead(swich)) //电压大于49v 电流小于4A 逆变器状态开时
{
if (timeCnt.modeChange > TIME_30S)
顷漏返 {
h2s() //转换到太阳能
}
}
else
{
timeCnt.modeChange = 0
}
//task 2
if (timeCnt.ledShow > TIME_1S)
{
timeCnt.ledShow = 0
digitalwrite(ledpin,!digitalread(ledpin))
}
//task 3
// ...
}
//定时器中断调用,arduino有现成雀饥的MsTimer2库,设置下就好。
void TimeCbk (void) //be called every 100ms
{
(timeCnt.modeChange < 65535) ? (timeCnt.modeChange++) : (timeCnt.modeChange = 0)
搜销 (timeCnt.ledShow < 65535) ? (timeCnt.ledShow++) : (timeCnt.ledShow = 0)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)