Протестируйте пожалуйста на Pro Micro или Leonardo , у кого есть такая плата
- Войдите на сайт для отправки комментариев
Пнд, 01/05/2017 - 16:47
// Проблемный тест для Pro Microю Не выводит сообщение в монитор порта
#include <Serial1.h>
#include <Serial.h>
void setup(void) { Serial.begin(57600); Serial1.begin(57600); }
void loop(void) { Serial.print("TEST SERIAL 0\n\r"); Serial1.print("TEST SERIAL 1\n\r");}
Аналогичный тест успешно выполнеяется на Uno и Pro Mini:
//Успешный тест для UNO и Pro Mini
#include <Serial.h>
void setup(void) { Serial.begin(57600); }
void loop(void) { Serial.print("TEST SERIAL 0\n\r"); }
в мониторе порта получаю:
TEST SERIAL 0
TEST SERIAL 0
TEST SERIAL 0
TEST SERIAL 0
TEST SERIAL 0
L Dmitriy, ну подключите к serial1 конвертер Uart-usb, воткните в комп, откройте терминалку на этом ком-порту и увидите ответ. Вы понимаете, что он просто висит в воздухе?
PS и не плодите темы.
А Serial ("Serial0") почему не работает на ProMicro?
Для отладки очень нужен монитор порта - тот, который совмещен с USBпортом загрузчика программ. Не могу воспользоваться им на Pro Micro по непонятной причине. Порт работает, иначе бы программы не загружались ...
Уважаемый dimax !
Если знаете каким способом выводить в него данные ( сейчас я неудачно пытаюсь через Serial) подскажите пожалуйста.
L Dmitriy, я вот не пойму -это я так плохо выражаюсь, или до вас не доходит элеметарнейшие вещи? На плате "про микро" есть 2 порта UART, первый создаётся аппаратной эмуляцией через USB, он в системе просто Serial, через него же работает загрузчик. Второй самый обычной порт uart - на плате два штырька, в системе он Serial1 Никакие инклюды делать не нужно, скетч ваш выдаёт то что должен -ответ от того порта который вы мониторите. Второй порт физически никуда не подключен, поэтому ответа от него не приходит. Повесьте на него интерфейс в компьютер -и он отзовётся.
dimax, не обижайтесь пожалуйста. В данной ситуации мне удобнее использовать терминальную программу встроенную в компилятор - монитор порта. Неудобно вешать на второй порт ProMicro переходник, тк проект состоит из нескольких контроллеров и часто их переподключаю. Придется за каждой из ProMicro волочить хвосты из переходников RS232-TTL
Получается, что у ProMicro нет технической возможности работать со встроенным в компилятор монитором порта или в ProMicro нужно использовать другой метод обращения к нему не Serial ?
L Dmitriy, еще раз: в ProMicro два порта. Если Вы хотите тспользовать оба, к обоим должны быть физически подключены провода. Если у Вас провода подходят только к одному, то сигнал только с него и имеем. Чего не понятно то?
Пусть у Вас есть две тарелки. Если еду положили только в одну из них, то из второй есть невозможно т.к. нечего. Если Вам неудобно класть еду во вторую тарелку, то почему Вас удивляет, что в ней ничего нет?
andriano, вопрос в том можно ли выводить через Pro Micro информацию во встроенный в компилятор монитор порта. Если можно, то подскажите пожалуйста каким способом?
Сомневаюсь в том, что разработчики схемы ProMicro ликвидировали такую ценную возможность.
andriano, вопрос в том можно ли выводить через Pro Micro информацию во встроенный в компилятор монитор порта. Если можно, то подскажите пожалуйста каким способом?
Сомневаюсь в том, что разработчики схемы ProMicro ликвидировали такую ценную возможность.
"встроенный в компилятор монитор порта" вобще не подозревает откуда на этот порт прийдет чего либо (и куда уйдет тоже). Ему нужен только номер порта. А что туда вы подключите ему фиолетово, лиш бы скорость совпадала, хотя и это фиолетово, не совпадет - ну приймет как сможет, краказябрами.
Сомневаюсь в том, что разработчики схемы ProMicro ликвидировали такую ценную возможность.
ок.
недовложили сериалов, грёбаные мафиозо.
Я неверно выразился, мне принципиален не встроенный монитор порта, а возможность отладки без дополнительного кабеля, те использовать одлин и тот же USB для монитора порта и программирования.
Как достичь цели и почему не получается в ProMicro в отличие от Mini и Uno ?
Не, ты прикольный, уже ведь ответили: что бы что то куда то вывести, необходимо это что то к куда то присоединить и открыть требуемое количество терминальных окон.
andriano, вопрос в том можно ли выводить через Pro Micro информацию во встроенный в компилятор монитор порта. Если можно, то подскажите пожалуйста каким способом?
Сомневаюсь в том, что разработчики схемы ProMicro ликвидировали такую ценную возможность.
Перечитайте пост #1.
Я неверно выразился, мне принципиален не встроенный монитор порта, а возможность отладки без дополнительного кабеля, те использовать одлин и тот же USB для монитора порта и программирования.
Эта возможнсть никуда не девается. Но какждому отдельному последовательному порту нужен свой отдельный кабель.
Как достичь цели и почему не получается в ProMicro в отличие от Mini и Uno ?
Честно говоря, не понял, какова Ваша цель. До сих пор считал, что Вы хотите одновременно использовать два последовательных порта с единственным кабелем и единственной консолью. Поясните, чего именно Вы хотите.
У последовательного порта для программирования уже есть кабель, по которому я хотел бы выводить отладку в терминал. Но увы, для Pro Micro это почему-то не работает
1. Хотел использовать второй послед порт на ProMicro для связи с периферийным устройством, но Jeka написал на форуме, что второй программный и я от этого отказался.
2. Попутно обнаружил, что ProMicro не выводит информацию в консоль отладочную иснформацию или я что-то делаю неправильно.
Может кто-нибудь протестировать на ProMicro программу из первого поста и подтвердить проблему ?
Может кто-нибудь протестировать на ProMicro программу из первого поста и подтвердить проблему ?
А какая проблема? Вы же сами написали, что в порт выводится:
TEST SERIAL 0
TEST SERIAL 0
...
Значит, все работает имено так, как и должно быть.
L Dmitry, я понял вашу проблему так:
на плате Pro Micro не работает Serial.print("TEST SERIAL 0\n\r"); - в стандартный монитор порта не выводит.
Если так, то
Прочитайте http://arduino.ru/Hardware/ArduinoMicro
включая документы по ссылкам.
Если не нашли, подскажу:
1. новый пустой скетч
2. в сетапе
Serial.begin(9600);
// while the serial stream is not open, do nothing:
while (!Serial) ;
3. в лупе
delay(1000);
Serial.println("TEST SERIAL 0");
не проверял, нету такой ардуины.