Помогите с ошибкой
- Войдите на сайт для отправки комментариев
Ср, 04/04/2018 - 17:25
Всем привет!
Объясните, пожалуйста, как исправить ошибку? Вот код (извините, что без комментариев):
#include <MFRC522.h> #include <SPI.h> #define MAX_SS 2 int SS_PIN[MAX_SS] = {10, 6}; int RST_PIN[MAX_SS] = {9, 5}; MFRC522 *mfrc522[MAX_SS]; void setup() { for (byte i = 0; i < MAX_SS; i++) mfrc522[i] = new mfrc522(SS_PIN[i], RST_PIN[i]); Serial.begin(9600); SPI.begin(); for (int i = 0; i < MAX_SS; i++) mfrc522[i]->PCD_Init(); } void loop() { // Look for new cards for (byte i = 0; i < MAX_SS; i++){ if ( ! mfrc522[i]->PICC_IsNewCardPresent()) { return; }} // Select one of the cards for (byte i = 0; i < MAX_SS; i++){ if ( ! mfrc522[i]->PICC_ReadCardSerial()) { return; }} // Dump debug info about the card; PICC_HaltA() is automatically called for (byte i = 0; i < MAX_SS; i++){ mfrc522[i]->PICC_DumpToSerial(&(mfrc522[i]->uid)); }}
Выводит такую ошибку:
expected type-specifier before 'mfrc522' (что-то не так с new)
А вы можете объяснить звёздочку в 9 строке?
не должно ли выглядеть как
Вот Вы пришли сюда поиздеваться? Загадки позагадывать?
А полностью сообщение привести религия не позволяет?
Спасибо, помогло с компиляцией) Правда прога все равно не робит(
А смысл? Остальная часть - пути подключенных библиотек. А если не понятно было в какой строке ошибка, то она в 12 строке (new тем более только там и есть).
Как запрограммировали - так и работает. Оно что должно делать то? Мне кажется что дальше первого if'а оно и не проходит.
А смысл? Остальная часть - пути подключенных библиотек. А если не понятно было в какой строке ошибка, то она в 12 строке (new тем более только там и есть).
А смысл в том, что Евгений бы уже объяснил что ещё не так в вашей программе.
Теперь же Евгений видя новые сообщения в этой теме не за ходит сюда, справедливо полагая - "а смысл?"
полагая - "а смысл?"
Так и есть!
Вообще старая и избитая (как я понял) тема - подключение некскольких RFID считывателей. Лазил на огромном количестве форумов, пробовал все способы про которые писали, наткнулся на этот код. Решил попробовать, писали, что работает. Но нет. Впрочем, после замены
на
код стал хотя бы компилироваться, но все равно работал только один считыватель, тот, SS_PIN которого стоит на первом (точнее на нулевом) месте массива:
А if'ы - копипаст из прмера, но попробую поменять как-то.
ОК, вот весь лог:
Вообще перестало работать. Увы.
А второй и не должен работать. Посмотрите логику своей программы. У Вас должен работать либо первый, либо два одновременно (свосем одновременно). Второй сам по себе работать и не должен - так программа написана.
Бывает. Как вариант - предлагаю накидать вывода в Serial и посмотреть что происходит
Mouflon,
просто ведите пальцем по своей программе. Прямо физически пальцем.
Итак, Вы подгнсли карту ко второму считывателю. Программа добрадалсь до строки 20. Что происходит?
i стало равным нулю и в строке 21 пошла проверка нет ли карты у первого (нулевого) считывателя. Её там нет, т.к. карта сейчас находится у второго.
И что происходит? В строке 21???
Всё понятно?
Если у первого считывателя нет карты, то второй Вы даже не проверяете. Никогда!
Понятно?
ЕвгенийП
для начала не я топикстартер. Поэтому менторский тон не туда направлен.
MizAL посмотри, что выходит в Serial.
для начала не я топикстартер.
Блин, дейстивительно. И нафига ж было "ответом" делать? Я теперь поправить не могу :(
Я примерно это и подозревал. Спасибо, что ткнули пальцем)
Всегда выводит одну и ту же комбинацию цифр: 8227025956. Даже если приложить другую метку к считывателю
А как решить это? Просто у меня уже идеи кончились...
В одиночном режиме всё работает нормально?
Понял, почему цифры выводило. В Serial.println() надо в кавычках было текст писать) А так loop работает как надо, но через раз (точнее больше не работает).
С одним считывателем?
Да, работает.
А так loop работает как надо, но через раз (точнее больше не работает).
С одним считывателем?
Да, работает.
Ну, и разговор у вас, мужики :)))
Прошу ПОМОЩИ !!!
Написал небольшу програмку и собрал схему, работает очень странно, плиз может ктонибудь подсказать что не так,
Управляю четырьмя реле, при помощи четырёх сенсорных кнопок. Управление работает нормально, но при попытке управления с кнопки "четыре", происходит какая то чертовщина. То сработает нужное реле 4, а с ним вместе то 1 , то 2 , то 3 реле, а то вообще разные комбинации по три реле сразу. При упрвлении с кнопок 1,2,3, все проходит штатно.
реле 1,2,3 управляют включить-выключить нагрузку (свет)
реле 4 управляет катушкой электромагнитного замка.
}
Есть куча титановых велосипедов для таких случаев. возьмите 4 штуки.
реле 1,2,3 управляют включить-выключить нагрузку (свет)
реле 4 управляет катушкой электромагнитного замка.
Т.е. не работает с индуктивной нагрузкой. Понятно. Осциллораф есть? И еще, в любом случае, схему и фото сборки давайте в студию. Чтобы было видно как собрано, от чего питается, какая защита стоит и т.п.
Уважаемый Евгений, прочитав Ваши вопросы, отбросил с реле 4 провод фазы 220В, который питал блок питания 12В для электромагнитного замка, проверил схему, ВСЁ работает. Сейчас попробую подключить к реле разрыв провода питания замка 12В. Благодарю за отзыв, который натолкнул копать в направлении железа, а не проги. Если есть интерес скину схему и фото.
без коментариев, потому что у меня нет слов
101
if
(PUSH4 == 1 ) {
//если нажата кнопка .
102
goto
label;
103
}
104
else
goto
label1;
114
label:
115
digitalWrite (11, LOW);
116
delay (2000);
117
digitalWrite (11, HIGH);
118
label1:;
без коментариев, потому что у меня нет слов
:-))))
Вот интересно, почему человек, у которо нет слов, не молчит?
Первый проект, по сути первая программа, зачем БЕЗ СЛОВ КОМЕНТИТЬ? Вы видимо на форуме находитесь что бы не помогать , а поглумиться? ЗАХОДЯ НА ФОРУМ, "ПОДУМАЙ, А НУЖЕН ЛИ ТЫ СДЕСЬ?"
Если есть интерес скину схему и фото.
Скинете если сами не раберётесь.
Я бы на Вашем месте сечас перекинул бы нидуктивную нагрузку на другое реле и посмотрел бы.
Если по прежнему глючит именно индуктивная нагрузка - значит сто пудов проблема во всплеске напряжения при её выключении - надо смотреть питание и защиту.
А если глючит тоже самое реле с любой нагрузкой, то искал бы сопли в пайке или ещё чего вокруг того реле.
Кстати, может через I2C будет легче? Или еще вариант использовать сдвиговый регистр 74HC595 (если это вообще возможно)?