buen día.
el motivo de mi consuta es para pedir de su ayuda espero ser lo mas claro posible y me puedan ayudar de antemano gracias.
Estoy realizando un IR blaster para el testeo de set-top box lo que quiero hacer es almacenar los valores introducidos por el puerto serie en A_1,B_1,C_1,..., m_1.
todo esto lo estoy haciendo mediante windows form C# cada boton mandara el valor a cada constante (A_1,B_,...,m_1).
anexare el código que se estará usando con un poco de seudocódigo para que sea mas claro mi objetivo.
en resumen quiero almacenar cada valor mandado por el tex box en una constante diferente para posteriormente usarla.
#include <IRremote.h>
IRsend irsend;
#define No_0 A_1
#define No_1 B_1
#define No_2 C_2
#define No_3 D_1
unsigned long b_A = 0;
unsigned long b_B = 0;
unsigned long b_C = 0;
unsigned long b_D = 0;
int dato = Serial.read(); //dato es el valor booleano de cada boton que ira de A-Z y a-m
/*
//esto es lo que quiero hacer
// if(dato == 'A'){ // si se presiona el botón 1 manda el valor para almacenar en A_1
if(Serial.available() > 0){
A_1 = Serial.read(); y almacenar este valor en la constante A_1 para que sea su valor.
}
else{ A_1 = 1500000}// de lo contrario se le asigna este valor por defecto
}
.
.// y asi con todos
.
if(dato == 'm'){
if(Serial.available() > 0){
m_1 = Serial.read(); y almacenar este valor en la constante m_1 para que sea su valor.
}
else{ m_1 = 1500000}
}
*/
void print_tiempo(unsigned long tiempo_millis);
void setup() {
Serial.begin(9600);
}
void loop() {
if(millis() > b_A + No_0){
b_A = millis();
irsend.sendNEC(0x80BFE11E, 32);
}
if(millis() > b_B + No_1){
b_B = millis();
irsend.sendNEC(0x80BF49B6, 32);
}
if(millis() > b_C + No_2){
b_C = millis();
irsend.sendNEC(0x80BFC936, 32);
}
if(millis() > b_D + No_3){
b_D = millis();
irsend.sendNEC(0x80BF33CC, 32);
}
}