Здравствуйте, столкнулся со странной проблемой. Есть два устройства, одно ведущее, второе ведомое. Определяется кто есть кто, при включении, перемычкой между +5в и д5. Перемычка - резистор на 15ком.
При запуске, перемычка считывается, и роль определяется правильно, но потом - что то переменную меняет. И устройство резко меняет роль…
Небольшой кусок кода, в котором судя по всему проблема
unsigned int modePin = 2; // Пин к которому идет перемычка
unsigned int isReader = 0; // 0 - ридер, 1 мастер
int request = 0; // Сюда складываем данные по запросу
unsigned int response[4] = {0,0,0,0}; // Сюда пишем ответ от модуля
void setup() {
// определяем кто мы, мастер или ридер
pinMode(modePin, INPUT);
isReader = digitalRead(modePin);
}
void loop() {
Serial.print("isReader");
Serial.println(isReader);
if (isReader) {
// после этого куска, меняется переменная isReader, если закоментировать - не меняется.
for (int i = 0; i < sizeof(response); i++) //convert to char array
{
response[i] = 0;
}
}
}