Всем привет. Пытаюсь написать скетч для отправки в порт сообщений с определенными таймингами.
Условие такое:
Отправлять А каждые 10 секунд
Отправлять Б после А + 1 секунду
Отправлять В после А + 5 секунд
Отправлять Г после А + 6 секунд
Отправку А сделал, не знаю в какую сторону дальше копать. Прощу помощи.
unsigned long timer;
int i;
void setup() {
Serial.begin(9600);
}
void loop()
{
if(millis()-timer >= 10000)
{
timer = millis();
Serial.print(“A”);
}
}
Green1
24.Январь.2025 09:07:38
2
Ты когда заходил, не посмотрел как люди код вставляют? Посмотри. И зайди по новой.
я не пойму, щас уже не учат блок-схемы рисовать и алгоритмы составлять? че вы сразу претесь в аппаратную разработку, не зная основ здравого смысла?
Только зарегистрировался, сейчас переделаю.
MMM
24.Январь.2025 09:13:01
5
вот так отправляем B
С остальным сами справитесь, я думаю.
1 лайк
вы в школе не учились?
1+5+6 явно больше десяти.
MMM
24.Январь.2025 09:14:34
7
xDriver:
вы в школе не учились?
а ты?
Написано же - “после А” !!!
1 лайк
блин не проснулся еще!
ссори (((
void loop() {
print(A);
delay(1000);
print(B);
delay(4000);
print(C);
delay(1000);
print(D);
delay(4000);
}
1 лайк
unsigned long timer;
bool b_done_flag = true;
bool c_done_flag = true;
bool d_done_flag = true;
void setup()
{
Serial.begin(9600);
}
void loop()
{
if(millis()-timer >= 10000)
{
timer = millis();
Serial.println("A");
b_done_flag = false;
c_done_flag = false;
d_done_flag = false;
}
if(! b_done_flag && (millis()-timer >= 1000))
{
b_done_flag = true;
Serial.println("B");
}
if(! c_done_flag && (millis()-timer >= 5000))
{
c_done_flag = true;
Serial.println("C");
}
if(! d_done_flag && (millis()-timer >= 6000))
{
d_done_flag = true;
Serial.println("D");
}
}
Спасибо, работает
Green1
24.Январь.2025 09:24:55
11
MMM , а ты в школе учился? А тогда почему такой текст кривой вставляешь? Или двоешник?
В сторону отправки Б, конечно. А Вы в какую думали?
MMM
24.Январь.2025 09:29:59
13
наезд мелочный, но справедливый. исправил