Ви не увійшли.
Здравствуйте. Помогите с микроконтроллером WavGat Pro Mini, который является аналогом Arduino Pro Mini, но имеет другой процессор.
Купил я себе это чудо для экспериментов, а также USB-UART FT232RL. Установил драйвера на WavGat (в среде Arduino выбираю "плата > WavGat Pro Mini"). Подключил 4-х разрядный 7-ми сегментный индикатор (через 74HC164) и пару кнопок, набросал тестовый скетч, залил и начались танцы с бубнами.
Во-первых я не вижу ничего в мониторе порта. RX TX менять местами пробовал - результат тот же. Замыкал RX и TX - эхо есть. Пробовал разные скорости.
Serial.begin(115200); // Скорость работы COM-порта
Serial.print("void setup - start");
Serial.println();
Во-вторых для управления разрядами я решил использовать 6,9,10 и 11 пины, так как у Arduino Pro Mini это PWM-пины. Хотел регулировать яркость. 9,10 и 11 пины нормально реагируют как на digitalWrite(LOW/HIGH) так и на analogWrite(LOW/HIGH/0..255). А 6-ой пин ведет себя как-то странно:
на digitalWrite(LOW/HIGH) и на analogWrite(0/255) устанавливается ВЫСОКИЙ уровень на порту;
на analogWrite(LOW) - устанавливается ВЫСОКИЙ уровень на порту;
на analogWrite(HIGH) - устанавливается НИЗКИЙ уровень на порту;
на analogWrite(128) - устанавливается среднее значение уровня на порту (свечение индикатора более тусклое);
Можно ли как-то исправить/побороть эти проблемы?
Неактивний
Взять другой бубен или как минимум прочитать даташит на LGT8F132D. Поищите на форуме, был.
Правильно - LGT8F328D. Опечатка.
Даташит я почитаю, но не понимаю, как это мне поможет с решением второй проблемы?
По поводу вывода в консоль может я и найду там ответ, но что делать с неадекватной реакцией на стандартные конструкции платформы? Я так понимаю, что нужно что-то исправлять в файлах драйвера на WAVGAT в папке Arduino? Но там много файлов и я в них практически ничего не понимаю.
Неактивний
Даташит я почитаю, но не понимаю, как это мне поможет с решением второй проблемы? ...
Всё правильно работает, это не Arduino NANO, есть отличия.
С 6-ым (и 7-ым) пином частично прояснилось. Нашел, что они работают только как аналоговые входы. Просто, когда я выбирал куда подключаться, я набрал в поисковике "arduino pro mini pinout" и выбрал пины PWM (надо же было именно на 6-ой попасть!). Однако в ходе экспериментов выяснилось следующее: если в void setup задать скорость СОМ-порта, то 6 пин может работать и на выход, но с инвертированными значениями (по крайней мере на WavGat Pro mini, как с этим у Arduino Pro mini - не знаю, не на чем проверить).
А вот с выводом в консоль пока не понял, почему тишина в эфире.
Неактивний
... А вот с выводом в консоль пока не понял, почему тишина в эфире.
Эфир выдохся. Обратитесь к renoshnik, из здешних, он на LGT8F328 "собаку съел".
Здравствуйте. Помогите с микроконтроллером WavGat Pro Mini, который является аналогом Arduino Pro Mini, но имеет другой процессор.
Во-первых я не вижу ничего в мониторе порта. RX TX менять местами пробовал - результат тот же. Замыкал RX и TX - эхо есть. Пробовал разные скорости.
Serial.begin(115200); // Скорость работы COM-порта
Serial.print("void setup - start");
Serial.println();Можно ли как-то исправить/побороть эти проблемы?
Давайте начнем с простого т.к. хрустальный шар отсутствует....
- не видя вашей программы можно только гадать, что и как вы выводите в порт и должно ли оно туда выводиться.
- какой аддон вы установили.
( WAVGAT NANO )
- проверьте МК там действительно LGT8F328P
Неактивний
http://arduino.ru/forum/apparatnye-vopr … -lgt8f328p
На сегодня лучший обзор который я встречал .
Неактивний
- не видя вашей программы можно только гадать, что и как вы выводите в порт и должно ли оно туда выводиться.
- какой аддон вы установили.
( WAVGAT NANO )- проверьте МК там действительно LGT8F328P
Вы наверно невнимательно прочитали первый пост. У меня WavGat Pro Mini. Подкупила низкая цена. Тот факт, что это не совсем аналог, я осознал уже после того, как заказал и оплатил, когда начал изучать литературу по нему. Плата пришла и сегодня я все-таки закончил писать скетч под нее (нашел все ошибки). Просто из-за отсутствия монитора, отлаживать пришлось на ощупь.
Вам скинуть весь мой скетч? Или достаточно того, что я использовал стандартные конструкции:
...
void setup() {
Serial.begin(9600); // Так же пробовал 115200
// while (!Serial) {
// ; // ожидаем подключения последовательного порта. Нужно только для Leonardo
// }
Serial.print("void setup - start");
Serial.println();
...
Serial.print("void setup - start");
Serial.println();
}
void loop() {
Serial.print("void loop - start");
Serial.println();
...
}
Закоментированные строки - пробовал и с ними и без них.
Регистры в коде не использовал.
Из библиотек только EEPROM (но пробовал и без нее).
На индикатор вывожу через функцию shiftOut(LED_DATA, LED_CLCK, MSBFIRST, Cur_digit1);
Аддон устанавливал из обзора (тот, который от продавца). (Правда читал я его давно, но сейчас еще раз перечитал).
http://arduino.ru/forum/apparatnye-vopr … -lgt8f328p
На сегодня лучший обзор который я встречал .
Процессор стоит AVGA328P в LQFP32 корпусе (по информации из интернета это и есть LGT8F328P)
Второй аддон как-то не заметил после первого прочтения. Скачал, поставил - добавились платки в Arduino IDE. А какой аддон использовали Вы?
В моем варианте на плате нет микросхемы usb-usart и светодиодов на линиях RX и TX. Нужно ли мне переназначать ножки ком-порта?
Но в любом случае проверить смогу только во ВТ, так как платку оставил на работе.
Остання редакція Wavgat (2019-08-24 01:24:25)
Неактивний
Ну а сколько чашек кофе стоит помощь реношника?
И еще вопрос. Кто-нибудь может объяснить мне, почему на всех картинках Arduino Pro Mini 6 пин подписан как PWM, если он может работать только как аналоговый вход? Может я чего-то не знаю?
Может я чего-то не знаю ?
По моим данным пин 6 "привязан" к нулевому таймеру ...
Неактивний
" Вы наверно невнимательно прочитали первый пост. У меня WavGat Pro Mini. Подкупила низкая цена. Тот факт, что это не совсем аналог, я осознал уже после того, как заказал и оплатил, когда начал изучать литературу по нему. Плата пришла и сегодня я все-таки закончил писать скетч под нее (нашел все ошибки). Просто из-за отсутствия монитора, отлаживать пришлось на ощупь. "
Прочитал я внимательно.
про МК спросил т.к. есть варианты с LGT8F328P и с LGT8F328D .
В первом случае МК более продвинутый и некоторые библиотеки с ним не работают т.к. более навороченная в плане настройки таймеров.
Второй вариант больше совместим со стандартной ардуинкой.
Неактивний
Интересная у вас плата...
У меня платы с МК LGT8F328P все БЕЗ кварца, т.к. они работают на 32МГц...
Возможно бутлоадер настраивает внутренний ген. на 32МГц с делителем 2, так получают 16МГц... и это влияет на синхронизацию с монитором...
Неактивний
" Вам скинуть весь мой скетч? Или достаточно того, что я использовал стандартные конструкции: "
давайте какой-то свой кусок кода для проверки, который у вас не работает, а я попробую его запустить у себя.
Неактивний
renoshnik пише:Прочитал я внимательно.
Просты Вы писали про нано, а у меня про мини.
я писал про микроконтроллер на плате, а реализация в железе это второстепенно.
renoshnik пише:Интересная у вас плата...
Могу дать поиграться
Скиньте пример кода для проверки на моей плате.
Неактивний
#define LED_DELAY 4 // Время показа каждого разряда (при увеличении будет заметно мерцание)
#define LED_FA 6 //PWM - Пин FA на плате: первый символ (разряд единиц)
#define LED_FB 9 //PWM - Пин FB на плате: второй символ (разряд десятков)
#define LED_FC 10 //PWM - Пин FC на плате: третий символ (разряд сотен)
#define LED_FD 11 //PWM - Пин FD на плате: четвертый символ (разряд тысяч)
#define LED_DATA 2 // - Пин DA на плате
#define LED_CLCK 3 //PWM - Пин CK на плате
#define BUTTON_K0 7 // - Пин K0 на плате
#define BUTTON_K1 8 // - Пин K1 на плате
void setup() {
// В COM-порт будем записывать
Serial.begin(115200); // Скорость работы COM-порта
Serial.print("void setup - start");
Serial.println();
// Установим нужные порты на выход
pinMode(LED_FA, OUTPUT); // для красного светодиода
pinMode(LED_FB, OUTPUT); // для красного светодиода
pinMode(LED_FC, OUTPUT); // для красного светодиода
pinMode(LED_FD, OUTPUT); // для красного светодиода
analogWrite(LED_FA,LOW); // в отличии от 9,10 и 11 - нужно инвертировать сигнал и использовать analogWrite
digitalWrite(LED_FB,HIGH);
digitalWrite(LED_FC,HIGH);
digitalWrite(LED_FD,HIGH);
pinMode(LED_DATA, OUTPUT);
pinMode(LED_CLCK, OUTPUT);
pinMode(BUTTON_K0, INPUT); // для считывания кнопок на линии К0
pinMode(BUTTON_K1, INPUT); // для считывания кнопок на линии К1
}
void loop() {
Serial.print("void loop");
Serial.println();
analogWrite(LED_FA,HIGH);//включим индикатор на 6-ом пине
byte buttonsLine0 = digitalRead(BUTTON_K0);
byte buttonsLine1 = digitalRead(BUTTON_K1);
Cur_digit1 = 0b11000000;
if ( buttonsLine0 == LOW ) {
Serial.print("Button FA-K0");
Cur_digit1 = 0b11111001;
if ( buttonsLine1 == LOW ) {
Serial.print(" FA-K1");
Cur_digit1 = 0b10100100;
}
Serial.println();
} else
if ( buttonsLine1 == LOW ) {
Serial.print("Button FA-K1");
Serial.println();
Cur_digit1 = 0b10110000;
}
shiftOut(LED_DATA, LED_CLCK, MSBFIRST, Cur_digit1);
delay(LED_DELAY);
analogWrite(LED_FA,LOW);
digitalWrite(LED_FB,LOW);
Cur_digit1 = 0b11000000;
buttonsLine0 = digitalRead(BUTTON_K0);
buttonsLine1 = digitalRead(BUTTON_K1);
if ( buttonsLine0 == LOW ) {
Serial.print("Button FB-K0");
Cur_digit1 = 0b11111001;
if ( buttonsLine1 == LOW ) {
Serial.print(" FB-K1");
Cur_digit1 = 0b10100100;
}
Serial.println();
} else
if ( buttonsLine1 == LOW ) {
Serial.print("Button FB-K1");
Serial.println();
Cur_digit1 = 0b10110000;
}
shiftOut(LED_DATA, LED_CLCK, MSBFIRST, Cur_digit1);
delay(LED_DELAY);
digitalWrite(LED_FB,HIGH);//выключим индикатор на 9-ом пине
//=========
// По аналогии для FC и FD
//=========
}
Так же пробовал оставить только FB и FC (второй и третий разряды индикатора)
И, как оказалось, порядок разрядов я попутал, т.е. вместо 0001 (для единицы) у меня выводилось 1000. В рабочем скетче уже поправил, а в тестовом осталось так как есть.
Остання редакція Wavgat (2019-08-24 12:01:16)
Неактивний
https://wiki.wemos.cc/products:xi:lgt_nano
https://ru.aliexpress.com/item/32764817 … 33edDQuUxN
Это моя плата
Остання редакція renoshnik (2019-08-24 12:22:44)
Неактивний
Про мини остался на работе. К нему подключена плата передней панели от спутникового тюнера. На фотографии аналогичная плата, только подключена к другому МК (ну не фотографировал я свою поделку).
Фотографию прикрепил, чтобы понятнее было на какой ноге что висит.
Остання редакція Wavgat (2019-08-24 12:26:43)
Неактивний