Попала в руки такая же нана. Блинк моргает нормально(аддон установил). А вот попробовал из примеров 1602 подключить- ни в какую про мир писать не хочет. Я так понимаю, без бубна всякие библиотеки для 328 меги работать не захотят?
Попала в руки такая же нана. Блинк моргает нормально(аддон установил). А вот попробовал из примеров 1602 подключить- ни в какую про мир писать не хочет. Я так понимаю, без бубна всякие библиотеки для 328 меги работать не захотят?
Попала в руки такая же нана. Блинк моргает нормально(аддон установил). А вот попробовал из примеров 1602 подключить- ни в какую про мир писать не хочет. Я так понимаю, без бубна всякие библиотеки для 328 меги работать не захотят?
недавно только подключал i2c 1602, имено нано вавгат, никаких проблем. библа - LiquidCrystal.
Ну так я без i2c подключал. Шестью проводочками. Буду дома, попробую по шине.
Докладываю. Достал осцилограф, прошёлся по ногам. Везде прямоугольнички, на D4 кракозябры. Поднял ногу у контроллера- всё равно кракозябры. Переназначил на D7 - УРА! заработало. Потестил остальные порты- фигня только с D4. Тестером звонится одинаково с остальными.
Вопрос, можно ли встроенными средствами выставить частоту тактирования 28 мегагерц
легко и просто - поменяй кварц на 14 МГц
что-то сомневаюсь, у меня кварц на плате 12 мегагерц, залил скетч от nano дающий на 9 пине 8 мегагерц, переключаюсь на этой плате на кварц и, на 8 пине около 6 мегагерц, то-есть удвоителя там нет выходит
DIMAX подскажи, как ты затактировался от внешнего генератора?
Я отпаял кварц, и подал на вход XI (PB7 кажется) сигнал с кварцевого генератора.
ua6em пишет:
что-то сомневаюсь, у меня кварц на плате 12 мегагерц, залил скетч от nano дающий на 9 пине 8 мегагерц, переключаюсь на этой плате на кварц и, на 8 пине около 6 мегагерц, то-есть удвоителя там нет выходит
Там x2 только для тактовой таймера. И то, по моему, только если тактироваться от встроенного генератора. Для тактовой 28 MHz нужен кварц или генератор на 28 MHz
Добрый день знатокам. Сразу признаюсь что я дуб во всех этих делах, за что и прошу прощения. ситуация моя в следующем: Были куплены UNO на AtMega 328P и Ethernet Sheild на w5100 под корпус UNO. Пробовал разные скетчи с библиотекой Ethernet.h - всё работало. На днях пришла Wavgat UNO R3 на AVGA328P, как и большинство из нас я просто просмотрел инфу о железе. По итогу не компилируется скетч с библиотекой Ethernet.h . Пробовал использовать скетчи из примеров на Ethernet2.h - компилируется и грузится, но mac присваивается нулевой и IP=255.255.255.255 Может есть рабочее решение работы сабжа с w5100 ?
Вибрал в менеджере плат (ардуино иде перезапускал) LGT8F328P LQFP32 MiniEBV
Закинул простенький скетч, типа светодиодом мигнуть, что-то в сериал принтануть, в пять строк буквально, ИДЕ начинает собирать и линковать кор и... валится куча таких ошибок
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
exit status 1
Ошибка компиляции для платы Larduino w/ LGT8F328D.
Куда копать?
Update: установил аддон от Вавганд, все скомпилировалось. Уже легче.
Но вижу такую картину 29кБайт флеша доступно. Соответственно 2к откусили на эмуляцию ЕЕПРОМ.
Вопрос к гуру, как отказаться от ЕЕПРОМ вообще, у меня в проекте внешняя 24С512, но вернуть эти 2к "на родину"? В даташите вроде говорят, что это можно настраивать программно, но как? Ума не приложу, так досконально я ещё в даташитах не разбираюсь. Может полскажет кто?
И вообще не могу найти драйвера для USB TO UART BRIDGE (vid_04d9 pid_b534) под винду для этой платы. Где их взять? Кто-нибудь вообще подключал это чудо к усб без использования всяких отдельных адаптеров?
Пока это бесполезная балалайка. (( Кор для нее сырой сильно, ни один мало мальски большей скетч под нее так и не скомпилировался. При этом, компилятор делает очень объемный бинарник. То, что таки удалось скомпилировать под нее, на Уно занимает к примеру 40% флеша, а под эту 90%. Как -то так. ((
А версии компилятора пользовали одинаковые? На крайних есть проблемы. На 1.8.3 я не заметил сильных различий размера например 13484 байт супротив 12228 для наны. И скетч не самый простой - работа с графикой на экране по i2c. Проблемы компиляции вероятно из-за сторонних либ, там кривописцы затачиваются под конкретную плату и понятно что это не проходит. Повозитесь с условной компиляцией, чтоб все собиралось как под Уно, например.
ИДЕ 1.8.9 , просто поставил аддон, как у них в readme написано, https://github.com/LGTMCU/Larduino_HSP - вообще нифига не компиляется, даже встроенные примеры для платы, ошибка типа
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
так и не решил проблему, я не большой спец иде настраивать, поставил плагин от wawgang https://drive.google.com/file/d/10gwrG9uTDwaEO-7EudsmBkfgdcyrcABI/view - вообще - треш, угар и содомия! Библы типа SoftwareSerial, Wire и т.п. сыпят ошибками, макросы F("hjhjhjh") не поддерживаются, String сыпет ошибками. Караул короче. Плюнул, бросил платки в коробочку. На github открыл issue https://github.com/LGTMCU/Larduino_HSP/issues/3 - китайса хрень несет, мол обновите ИДЕ. Куда уж новее то?
Хм... Запустил, не устанавливая, версию ИДЕ 1.8.5 мои проекты начали компилятся.
Вот только незадача, не влезают во флеш.
Вопрос: как отказаться от эмуляции ЕЕПРОМ на флеше?
В моих проектах он не используется, а вот флеш нужна вся, тем более такой ценой - для эмуляции 1кБ ЕЕПРОМ откусывают 2кБ флеш. Где-то можно подправить? Вроде чины говорили, что это настраиваемый параметр. Кстати, код все равно больше после компиляции, приблизительно на 1кБ с копейками. Но хоть компилится. Ок, смогу куда нибудь пристроить платы.
Лоджик, спасибо большое за подсказку.
ПС. Вписал в boards.txt
lardu_328p.name= LGT8F328P-LQFP32 MiniEVB w/o EEPROM
lardu_328p.upload.tool=avrdude
lardu_328p.upload.protocol=arduino
lardu_328p.upload.maximum_size=31744 //вот тут тупо приплюсовал 2048, не знаю на сколько это правильно
lardu_328p.upload.speed=57600
lardu_328p.bootloader.tool=avrdude
lardu_328p.bootloader.high_fuses=0xff
lardu_328p.bootloader.low_fuses=0xff
lardu_328p.bootloader.extended_fuses=0x07
lardu_328p.bootloader.path=lgt8fx8p
lardu_328p.bootloader.file=lgt8fx8p/optiboot_lgt8f328p.hex
lardu_328p.bootloader.unlock_bits=0x3f
lardu_328p.bootloader.lock_bits=0x3f
lardu_328p.build.mcu=atmega328p
lardu_328p.build.f_cpu=16000000L
lardu_328p.build.core=lgt8f
lardu_328p.build.variant=lgt8fx8p
lardu_328p.build.board=AVR_LARDU_328E
на днях попробую чем то большим плату занять, посмотрим что получится, влезет ли?
Еще хотелось бы воспользоваться прелестями 32мГц. Кто-то знает как включить 32мГц?
Эх, они бы лучше вот все это тоже самое, но флеша 48к - 64 и озу 4к+ - цены бы камню небыло б.
lardu_328p.upload.maximum_size=31744 //вот тут тупо приплюсовал 2048, не знаю на сколько это правильно
Бутлоадер у LGT занимает один килобайт, но прикол в том, что он сидит по смещению 0x7400 (29696), т.е. под него зарезервировано аж 3кБ. Нафига? -не ясно, возможно это резерв места под вирутальный EEPROM. Одно очевидно -если с таким "фиксом" вы зальёте прошивку более 29696 байт, то плата окирпичится, и без специального программатора оживить её будет невозможно.
kostyamat пишет:
Еще хотелось бы воспользоваться прелестями 32мГц. Кто-то знает как включить 32мГц?
Здравствуйте. Пытаюсь подружить WAVGAT UNO R3 с LoRa модемом HopeRF95W при помощи библиотеки IBM LMIC. Сразу оговорюсь, что на уне с мегой на борту все отлично работает через преобразователь лог. уровней. WAVGAT виснет при выполнении функций из LMIC.
Если вдруг кто-нибудь уже делал нечто подобное или натыкался на информацию о подобной связке, поделитесь, пожалуйста информацией - жизнеспособна ли она вообще на данный момент.
Здравствуйте. Пытаюсь подружить WAVGAT UNO R3 с LoRa модемом HopeRF95W при помощи библиотеки IBM LMIC. Сразу оговорюсь, что на уне с мегой на борту все отлично работает через преобразователь лог. уровней. WAVGAT виснет при выполнении функций из LMIC.
Если вдруг кто-нибудь уже делал нечто подобное или натыкался на информацию о подобной связке, поделитесь, пожалуйста информацией - жизнеспособна ли она вообще на данный момент.
пины разделяемы с таймером и на передающем большая подпора, порядка 1.5 вольта, а это за гранью добра, может в этом проблема?
пины разделяемы с таймером и на передающем большая подпора, порядка 1.5 вольта, а это за гранью добра, может в этом проблема?
По поводу пинов и таймера - простите, не совсем понимаю, что вы имеете в виду. Частота же по умолчанию такая же, как на меге - 16МГц, или ее обязательно надо явно предустанавливать?
Для согласования уровней напряжения использую платку на базе TXB0108, с мегой 328 отлично работает.
Кстати, ради интереса написал продавану с алиэкспресса, тот мне скинул обновленный аддон WAVGAT для IDE, в нем сподобились поправить модель МК для уны на правильную (LGT8F328P, а был, если мне память не изменяет, LGT8F328D).
По поводу пинов и таймера - простите, не совсем понимаю, что вы имеете в виду. Частота же по умолчанию такая же, как на меге - 16МГц, или ее обязательно надо явно предустанавливать?
я не о частоте иду речь, посмотрите осциллограмку здесь но постами ниже #117
Пример таймера, так вот при использовании таймера на пинах серийного порта (они разделяемые) на осциллограмме видна подпорка в шине 1.5 вольта на пине TXI.
Нормируемый уровень логической единицы для 5 вольтовой логики от 2.4 до 5.0 вольта, логического нуля от 0 до 0.9 вольта, 1.5 вольта это как бы и не нуль и не единица, при преобразовании в другие логические уровни можем получить неустойчивые состояния. Может это как раз ваш случай?
С платой Wemos XI в которой стоит lgt8f328D все работает нормально. Если программу заливаю в "зеленую" плату с lgt8f328P изображение пропадает идут вертикальные полосы с шумом.
Платы рабочие, проверил на вывод информации в "сериал" все проходит корректно.
Привет. Я откомпилировал скетч, который прекрасно работал на оригинальной Атмега328. И что я вижу?
Я вижу, что функция delay() не работает вообще, а millis() ведет себя очень странно, вместо интервала в 15 секунд, я получаю около 30.
Ребята, как я могу правильно настроить таменги?
Уважаемые Геру, пожалуста, не отсылате к экспериментам на первой странице. Лучше соберите все в один пост кудато, типа - "вот так включать 32Мгц", а вот так "правильные таминги и правильные таймеры при 16, а так при 32-х".
ты не понял, чел хочет, чтобы ему всё в одну тему вложили )))
,Ну, и что в этом плохого?
даже наоборот, только если бы это вы сами перелопатили весь форум и собрали, даже больше, спасибо народ скажет...
а у меня к примеру всё работает правильно, мне в принципе это даже и не надо
renoshnik, а что за "зелёная" плата? Платой по-умолчанию в данной теме можно считать плату wavgat nano из топика, по всем остальным нужно писать конкретнее. Модель, производитель, ссылка на продавца итд итп
Если бы я чувствовал в себе скил сделать это, я бы так и сделал. А не просил бы помощи.
Кстати, получил ответ на гитхабе, мантейнер говорит, что версия не до конца совместима. Потому как первый таймер управляет ШИМ, а не так как в оригинальной атмега. Если ШИМ не нужен, предлагает поправленную версию (мне то как раз нужен).
И вы заявляете, что у вас все корректно? Как? Каким аддоном пользуетесь?
Ладно, delay() я могу и свой написать. Как тайминги корректно выставить для millis(), или тупо на два делить прикажите?
renoshnik, а что за "зелёная" плата? Платой по-умолчанию в данной теме можно считать плату wavgat nano из топика, по всем остальным нужно писать конкретнее. Модель, производитель, ссылка на продавца итд итп
Понял.
1 - "красная" Wemos XI у продавца ссылка уже не активна, но вот есть обзор
У меня такая плата, и тоже без кварца.
€ 0,72 6%OFF | LGT8F328P-LQFP32 MiniEVB Alternative Arduino Nano V3.0 ATMeag328P HT42B534-1 SOP16 USB Driver Good Quality and Cheap Price https://s.click.aliexpress.com/e/30GLxZQ1N
Херовая, что бы не сказать большего.)
12val12, подавай на него вольт 40-50 и заводи сразу на 1920х1080.
не увидел на плате стабилизатора на 3.3 вольта, как так?
а если на это китайской Uno WAVGAT перекинуть МК на атмега328, запустится?
а если на это китайской Uno WAVGAT перекинуть МК на атмега328, запустится?
Для начала нужно смотреть распиновку в даташитах на оба МК.
Atmega328P:
Попала в руки такая же нана. Блинк моргает нормально(аддон установил). А вот попробовал из примеров 1602 подключить- ни в какую про мир писать не хочет. Я так понимаю, без бубна всякие библиотеки для 328 меги работать не захотят?
Попала в руки такая же нана. Блинк моргает нормально(аддон установил). А вот попробовал из примеров 1602 подключить- ни в какую про мир писать не хочет. Я так понимаю, без бубна всякие библиотеки для 328 меги работать не захотят?
у меня без бубнов https://www.drive2.ru/b/519300717261882578/
Попала в руки такая же нана. Блинк моргает нормально(аддон установил). А вот попробовал из примеров 1602 подключить- ни в какую про мир писать не хочет. Я так понимаю, без бубна всякие библиотеки для 328 меги работать не захотят?
недавно только подключал i2c 1602, имено нано вавгат, никаких проблем. библа - LiquidCrystal.
Ну так я без i2c подключал. Шестью проводочками. Буду дома, попробую по шине.
не увидел на плате стабилизатора на 3.3 вольта, как так?
U4 на плате Arduino Uno Wawgat - XC6206P332MR (662K), стабилизатор напряжения, 3.3В 200мА, SOT23
От 3,3В питание идёт на 4(VCC)процессора.Кто нибудь пробовал запитать от +5В?
Ну так я без i2c подключал. Шестью проводочками. Буду дома, попробую по шине.
Докладываю. Достал осцилограф, прошёлся по ногам. Везде прямоугольнички, на D4 кракозябры. Поднял ногу у контроллера- всё равно кракозябры. Переназначил на D7 - УРА! заработало. Потестил остальные порты- фигня только с D4. Тестером звонится одинаково с остальными.
Вопрос, можно ли встроенными средствами выставить частоту тактирования 28 мегагерц
Вопрос, можно ли встроенными средствами выставить частоту тактирования 28 мегагерц
легко и просто - поменяй кварц на 14 МГц
DIMAX подскажи, как ты затактировался от внешнего генератора?
1
#include "lgtx8p.h"
2
int
main(){
3
PMCR=1<<PMCE;
//разрешить выбор источника тактирования
4
PMCR= 1<<2 | 1<<5;
//External high frequency crystal
5
PMX2= 1<<WCE;
//разрешить изменения
6
PMX2= 1<<XIEN;
//разрешить вход тактовой частоты от кварц. генератора
7
CLKPR = 1<<PMCE;
//разрешить изменение
8
CLKPR = 1<<5;
//делитель =1 и вывод clk
9
}
Вопрос, можно ли встроенными средствами выставить частоту тактирования 28 мегагерц
легко и просто - поменяй кварц на 14 МГц
что-то сомневаюсь, у меня кварц на плате 12 мегагерц, залил скетч от nano дающий на 9 пине 8 мегагерц, переключаюсь на этой плате на кварц и, на 8 пине около 6 мегагерц, то-есть удвоителя там нет выходит
DIMAX подскажи, как ты затактировался от внешнего генератора?
Я отпаял кварц, и подал на вход XI (PB7 кажется) сигнал с кварцевого генератора.
что-то сомневаюсь, у меня кварц на плате 12 мегагерц, залил скетч от nano дающий на 9 пине 8 мегагерц, переключаюсь на этой плате на кварц и, на 8 пине около 6 мегагерц, то-есть удвоителя там нет выходит
Там x2 только для тактовой таймера. И то, по моему, только если тактироваться от встроенного генератора. Для тактовой 28 MHz нужен кварц или генератор на 28 MHz
Добрый день знатокам. Сразу признаюсь что я дуб во всех этих делах, за что и прошу прощения. ситуация моя в следующем: Были куплены UNO на AtMega 328P и Ethernet Sheild на w5100 под корпус UNO. Пробовал разные скетчи с библиотекой Ethernet.h - всё работало. На днях пришла Wavgat UNO R3 на AVGA328P, как и большинство из нас я просто просмотрел инфу о железе. По итогу не компилируется скетч с библиотекой Ethernet.h . Пробовал использовать скетчи из примеров на Ethernet2.h - компилируется и грузится, но mac присваивается нулевой и IP=255.255.255.255 Может есть рабочее решение работы сабжа с w5100 ?
1
/home/home/arduino-1.8.9/libraries/Ethernet/src/Ethernet.cpp: In
static
member function
'static void EthernetClass::begin(uint8_t*, IPAddress, IPAddress, IPAddress, IPAddress)'
:
2
/home/home/arduino-1.8.9/libraries/Ethernet/src/Ethernet.cpp:87:33: error: request
for
member
'bytes'
in
'ip.IPAddress::_address'
, which
is
of non-
class
type
'uint8_t [4] {aka unsigned char [4]}'
3
W5100.setIPAddress(ip._address.bytes);
4
^
5
/home/home/arduino-1.8.9/libraries/Ethernet/src/Ethernet.cpp:88:38: error: request
for
member
'bytes'
in
'gateway.IPAddress::_address'
, which
is
of non-
class
type
'uint8_t [4] {aka unsigned char [4]}'
6
W5100.setGatewayIp(gateway._address.bytes);
7
^
8
/home/home/arduino-1.8.9/libraries/Ethernet/src/Ethernet.cpp:89:38: error: request
for
member
'bytes'
in
'subnet.IPAddress::_address'
, which
is
of non-
class
type
'uint8_t [4] {aka unsigned char [4]}'
9
W5100.setSubnetMask(subnet._address.bytes);
Ребята, прошу помощи. Поставил это плагин https://github.com/LGTMCU/LarduinoISP/blob/master/LarduinoISP.ino вроде именно его рекомендовали в начале темы. Развернул его в C:\Program Files (x86)\Arduino\hardware\LGT\avr\
Вибрал в менеджере плат (ардуино иде перезапускал) LGT8F328P LQFP32 MiniEBV
Закинул простенький скетч, типа светодиодом мигнуть, что-то в сериал принтануть, в пять строк буквально, ИДЕ начинает собирать и линковать кор и... валится куча таких ошибок
Compiling core...
"C:\\Users\\Konstyantyn\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.8.1-arduino5/bin/avr-gcc" -c -g -x assembler-with-cpp -flto -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f" "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\variants\\lgt8fx8e" "C:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f\\wiring_pulse.S" -o "C:\\Users\\KONSTY~1\\AppData\\Local\\Temp\\arduino_build_425599\\core\\wiring_pulse.S.o"
"C:\\Users\\Konstyantyn\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f" "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\variants\\lgt8fx8e" "C:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f\\hooks.c" -o "C:\\Users\\KONSTY~1\\AppData\\Local\\Temp\\arduino_build_425599\\core\\hooks.c.o"
"C:\\Users\\Konstyantyn\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f" "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\variants\\lgt8fx8e" "C:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f\\WInterrupts.c" -o "C:\\Users\\KONSTY~1\\AppData\\Local\\Temp\\arduino_build_425599\\core\\WInterrupts.c.o"
"C:\\Users\\Konstyantyn\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f" "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\variants\\lgt8fx8e" "C:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f\\wiring_digital.c" -o "C:\\Users\\KONSTY~1\\AppData\\Local\\Temp\\arduino_build_425599\\core\\wiring_digital.c.o"
"C:\\Users\\Konstyantyn\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f" "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\variants\\lgt8fx8e" "C:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f\\wiring_analog.c" -o "C:\\Users\\KONSTY~1\\AppData\\Local\\Temp\\arduino_build_425599\\core\\wiring_analog.c.o"
"C:\\Users\\Konstyantyn\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f" "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\variants\\lgt8fx8e" "C:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f\\wiring.c" -o "C:\\Users\\KONSTY~1\\AppData\\Local\\Temp\\arduino_build_425599\\core\\wiring.c.o"
"C:\\Users\\Konstyantyn\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f" "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\variants\\lgt8fx8e" "C:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f\\wiring_pulse.c" -o "C:\\Users\\KONSTY~1\\AppData\\Local\\Temp\\arduino_build_425599\\core\\wiring_pulse.c.o"
"C:\\Users\\Konstyantyn\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f" "-IC:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\variants\\lgt8fx8e" "C:\\Program Files (x86)\\Arduino\\hardware\\LGT\\avr\\cores\\lgt8f\\wiring_shift.c" -o "C:\\Users\\KONSTY~1\\AppData\\Local\\Temp\\arduino_build_425599\\core\\wiring_shift.c.o"
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
exit status 1
Ошибка компиляции для платы Larduino w/ LGT8F328D.
Куда копать?
Update: установил аддон от Вавганд, все скомпилировалось. Уже легче.
Но вижу такую картину 29кБайт флеша доступно. Соответственно 2к откусили на эмуляцию ЕЕПРОМ.
Вопрос к гуру, как отказаться от ЕЕПРОМ вообще, у меня в проекте внешняя 24С512, но вернуть эти 2к "на родину"? В даташите вроде говорят, что это можно настраивать программно, но как? Ума не приложу, так досконально я ещё в даташитах не разбираюсь. Может полскажет кто?
Всем здравствуйте, взял вот пару таких клонов от клонов LGT8F328P: https://ru.aliexpress.com/item/LGT8F328P-LQFP32-minievb-Arduino-Nano-V3-...
И вообще не могу найти драйвера для USB TO UART BRIDGE (vid_04d9 pid_b534) под винду для этой платы. Где их взять? Кто-нибудь вообще подключал это чудо к усб без использования всяких отдельных адаптеров?
Кот Матроскин, дрова на сайте холтэка.
Спасибо, нашел!
Пока это бесполезная балалайка. (( Кор для нее сырой сильно, ни один мало мальски большей скетч под нее так и не скомпилировался. При этом, компилятор делает очень объемный бинарник. То, что таки удалось скомпилировать под нее, на Уно занимает к примеру 40% флеша, а под эту 90%. Как -то так. ((
А версии компилятора пользовали одинаковые? На крайних есть проблемы. На 1.8.3 я не заметил сильных различий размера например 13484 байт супротив 12228 для наны. И скетч не самый простой - работа с графикой на экране по i2c. Проблемы компиляции вероятно из-за сторонних либ, там кривописцы затачиваются под конкретную плату и понятно что это не проходит. Повозитесь с условной компиляцией, чтоб все собиралось как под Уно, например.
ИДЕ 1.8.9 , просто поставил аддон, как у них в readme написано, https://github.com/LGTMCU/Larduino_HSP - вообще нифига не компиляется, даже встроенные примеры для платы, ошибка типа
"C:\Users\Konstyantyn\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_LARDU_328E -DARDUINO_ARCH_AVR "-ID:\Konstyantyn\Documents\Arduino\hardware\LGT\avr\cores\lgt8f" "-ID:\Konstyantyn\Documents\Arduino\hardware\LGT\avr\variants\lgt8fx8p" "D:\Konstyantyn\Documents\Arduino\hardware\LGT\avr\cores\lgt8f\wiring_pulse.c" -o "C:\Users\KONSTY~1\AppData\Local\Temp\arduino_build_105324\core\wiring_pulse.c.o"
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin.
так и не решил проблему, я не большой спец иде настраивать, поставил плагин от wawgang https://drive.google.com/file/d/10gwrG9uTDwaEO-7EudsmBkfgdcyrcABI/view - вообще - треш, угар и содомия! Библы типа SoftwareSerial, Wire и т.п. сыпят ошибками, макросы F("hjhjhjh") не поддерживаются, String сыпет ошибками. Караул короче. Плюнул, бросил платки в коробочку. На github открыл issue https://github.com/LGTMCU/Larduino_HSP/issues/3 - китайса хрень несет, мол обновите ИДЕ. Куда уж новее то?
Обновите в сторону более старой ;) Новые ИДЕ не гуд. На 1.8.3 без замечаний. Аддон я из первого поста брал.
Хм... Запустил, не устанавливая, версию ИДЕ 1.8.5 мои проекты начали компилятся.
Вот только незадача, не влезают во флеш.
Вопрос: как отказаться от эмуляции ЕЕПРОМ на флеше?
В моих проектах он не используется, а вот флеш нужна вся, тем более такой ценой - для эмуляции 1кБ ЕЕПРОМ откусывают 2кБ флеш. Где-то можно подправить? Вроде чины говорили, что это настраиваемый параметр. Кстати, код все равно больше после компиляции, приблизительно на 1кБ с копейками. Но хоть компилится. Ок, смогу куда нибудь пристроить платы.
Лоджик, спасибо большое за подсказку.
ПС. Вписал в boards.txt
lardu_328p.name= LGT8F328P-LQFP32 MiniEVB w/o EEPROM
lardu_328p.upload.tool=avrdude
lardu_328p.upload.protocol=arduino
lardu_328p.upload.maximum_size=31744 //вот тут тупо приплюсовал 2048, не знаю на сколько это правильно
lardu_328p.upload.speed=57600
lardu_328p.bootloader.tool=avrdude
lardu_328p.bootloader.high_fuses=0xff
lardu_328p.bootloader.low_fuses=0xff
lardu_328p.bootloader.extended_fuses=0x07
lardu_328p.bootloader.path=lgt8fx8p
lardu_328p.bootloader.file=lgt8fx8p/optiboot_lgt8f328p.hex
lardu_328p.bootloader.unlock_bits=0x3f
lardu_328p.bootloader.lock_bits=0x3f
lardu_328p.build.mcu=atmega328p
lardu_328p.build.f_cpu=16000000L
lardu_328p.build.core=lgt8f
lardu_328p.build.variant=lgt8fx8p
lardu_328p.build.board=AVR_LARDU_328E
на днях попробую чем то большим плату занять, посмотрим что получится, влезет ли?
Еще хотелось бы воспользоваться прелестями 32мГц. Кто-то знает как включить 32мГц?
Эх, они бы лучше вот все это тоже самое, но флеша 48к - 64 и озу 4к+ - цены бы камню небыло б.
lardu_328p.upload.maximum_size=31744 //вот тут тупо приплюсовал 2048, не знаю на сколько это правильно
Бутлоадер у LGT занимает один килобайт, но прикол в том, что он сидит по смещению 0x7400 (29696), т.е. под него зарезервировано аж 3кБ. Нафига? -не ясно, возможно это резерв места под вирутальный EEPROM. Одно очевидно -если с таким "фиксом" вы зальёте прошивку более 29696 байт, то плата окирпичится, и без специального программатора оживить её будет невозможно.
Еще хотелось бы воспользоваться прелестями 32мГц. Кто-то знает как включить 32мГц?
Может в начале темы почитать? :)
Здравствуйте. Пытаюсь подружить WAVGAT UNO R3 с LoRa модемом HopeRF95W при помощи библиотеки IBM LMIC. Сразу оговорюсь, что на уне с мегой на борту все отлично работает через преобразователь лог. уровней. WAVGAT виснет при выполнении функций из LMIC.
Если вдруг кто-нибудь уже делал нечто подобное или натыкался на информацию о подобной связке, поделитесь, пожалуйста информацией - жизнеспособна ли она вообще на данный момент.
Здравствуйте. Пытаюсь подружить WAVGAT UNO R3 с LoRa модемом HopeRF95W при помощи библиотеки IBM LMIC. Сразу оговорюсь, что на уне с мегой на борту все отлично работает через преобразователь лог. уровней. WAVGAT виснет при выполнении функций из LMIC.
Если вдруг кто-нибудь уже делал нечто подобное или натыкался на информацию о подобной связке, поделитесь, пожалуйста информацией - жизнеспособна ли она вообще на данный момент.
пины разделяемы с таймером и на передающем большая подпора, порядка 1.5 вольта, а это за гранью добра, может в этом проблема?
Блинк на третьем таймере:
Скетч:
01
// Пример использования Таймера 3 (Блинк на таймере) для платы WAVGAT
02
// (с) UA6EM на основе заимствований на arduino.ru у DIMAX и ЕвгенийП
03
// используется библиотека ЕвгенийП "ConstTimers.h"
04
05
#include "lgtx8p.h"
06
07
#ifndef CONSTANTS
08
#include "ConstTimers.h"
09
// Параметры для работы таймера/счётчика №3 на частоте 1Гц
10
//
11
constexpr uint8_t timerBits3 = getPrescalerBits(1, 1);
12
constexpr uint16_t timerTicks3 = getTimerTicks(1, 1);
13
//
14
#endif
15
16
void
setup
() {
17
18
#ifdef CONSTANTS
19
TCCR3B = 4;
20
OCR3A = 62500;
21
#else
22
TCCR3B =1<<WGM32 |timerBits3;
// Режим СТС WGM3[3:0]=4 или 12
23
24
if
(timerTicks3 > 255){
25
uint8_t r3ah = timerTicks3 / 256;
26
OCR3AH = r3ah;
27
uint8_t r3al = timerTicks3 % 256;
28
OCR3AL = r3al;
29
}
else
{
30
OCR3AH = 0x00;
31
uint8_t al = timerTicks3;
32
OCR3AL = al;
33
}
34
#endif
35
DDRF = 1<<2 | 1<<1;
// Разрешаем вывод в порты D1 и D2
36
TCCR3A=1<<COM3A0 | 1<<COM3B0;
// ПИН D2 + TXI
37
38
pinMode(13,OUTPUT);
39
//Serial.begin(115200);
40
41
}
// end-Setup
42
43
void
loop
(){
44
digitalWrite(13,!digitalRead(2));
45
// Serial.println(timerBits3);
46
}
// END
Библиотека:
001
#ifndef CONSTTIMERS_H
002
#define CONSTTIMERS_H
003
004
///////////////////////////////////////////////////////////////////////////////
005
//
006
// Недобиблиотека вычисления битов конфигурации делителя частоты и
007
// количества тиков таймера по заданной частоте.
008
//
009
// Предназначена для использования с микроконтроллером ATmega328P
010
// (например, в Ардуино или в AVR-студии). Модификация для других
011
// микроконтроллеров возможна и несложна, как будет показано ниже.
012
//
013
// Основная особенность: ВСЕ ВЫЧИСЛЕНИЯ ПРОИСХОДЯТ ВО ВРЕМЯ КОМПИЛЯЦИИ.
014
// В РЕЗУЛЬТИРУЮЩИЙ КОД НЕ ПОПАДАЕТ НИ ОДНОГО БАЙТА НИ КОДА, НИ ДАННЫХ.
015
//
016
// замечание о точности:
017
// гарантировать точность произвольной частоты невозможно, т.к. требуемый период
018
// может элементарно не являться делителем тактовой частоты микроконтроллера или
019
// его, может быть, невозможно подобрать имеющимися делителями частоты.
020
// Недобиблиотека ВСЕГДА выдаёт наилучший из возможных результатов для заданной частоты
021
// на заданном таймере. Но при этом нет никакой возможности узнать насколько хорош
022
// результат и какова погрешность. Если требуется инструмент для «зрячего» выбора
023
// частот, следует взять «калькулятор таймеров» (их много, например, есть и у автора).
024
// конец замечания о точности.
025
//
026
// ИСПОЛЬЗОВАНИЕ
027
//
028
// Для использования необходимо включить файл «ConstTimers.h» и определить константы с
029
// модификатором constexpr для нужных конфигурационных битов и количества тиков, которым
030
// присвоить значения, возвращаемые функциям getPrescalerBits и getTimerTicks соответсвенно.
031
// Обе функции принимают два параметра – номер таймера и требуемую частоту. Функция
032
// getPrescalerBits возвращает результат типа uint8_t. Функция getTimerTicks возвращает результат
033
// типа uint16_t, т.к. таймер может быть 16-битным, для 8-битных таймеров значение не превышает 255.
034
//
035
// Например:
036
//
037
// #include <ConstTimers.h>
038
// //
039
// // Параметры для работы таймера/счётчика №2 на частоте 1кГц
040
// //
041
// constexpr uint8_t timerBits2 = getPrescalerBits(2, 1000);
042
// constexpr uint8_t timerTicks2 = getTimerTicks(2, 1000);
043
// //
044
// // Параметры для работы таймера/счётчика №1 на частоте 500Гц
045
// //
046
// constexpr uint8_t timerBits1 = getPrescalerBits(1, 500);
047
// constexpr uint16_t timerTicks1 = getTimerTicks(1, 500);
048
// .............
049
// //
050
// // Конфигурация таймеров
051
// // таймер №2
052
// TCCR2B = timerBits2;
053
// OCR2A = timerTicks2;
054
// // таймер №1
055
// TCCR1B = timerBits1;
056
// OCR1B = timerTicks1;
057
//
058
//Результат работы будет точно такой же, как если написать константы вместо вызовов функций:
059
//
060
// TCCR2B = 4;
061
// OCR2A = 250;
062
// TCCR1B = 1;
063
// OCR1B = 32000;
064
//
065
// Ни на один байт код не изменится.
066
//
067
// КОФИГУРАЦИЯ:
068
//
069
// 1. расчёт производится для текущей тактовой частоты микроконтроллера. Если нужно
070
// считать для какой-то другой частоты, измените константу ниже:
071
//
072
#define FCPU F_CPU
073
//
074
// 2. ниже приведён массив конфигурации таймеров. Количество элементов массива
075
// соответсвует количеству таймеров. Нулевой элемент описывает нулевой таймер,
076
// первый элемент – первый таймер и т.д. Если требуется расширить недобиблиотеку для других
077
// микроконтроллеров, нужно изменить именно этот массив и больше изменять ничего не надо.
078
//
079
// В массиве для каждого таймера указано:
080
// 1) разрядность таймера в виде максимально возможного значения количества тиков
081
// (для 8-разрадных таймеров – 0xFF, для 16-разрядных – 0xFFFF.
082
// 2) указатель на массив делителей частоты. Делители начинаются с 1 (делитель 0 писать не нужно)
083
// 3) количество делителей частоты у данного таймера.
084
//
085
struct
STimerParameters {
086
const
uint32_t maxValue;
087
const
int
* prescalers;
088
const
uint8_t totalPrescalers;
089
};
090
091
constexpr
int
prescalers01[] = {1, 8, 64, 256, 1024 };
092
constexpr
int
prescalers2[] = {1, 8, 32, 64, 128, 256, 1024 };
093
094
constexpr STimerParameters timerParameters[3] = {
095
{0x000000FFul, prescalers01,
sizeof
(prescalers01) /
sizeof
(prescalers01[0])},
096
{0x0000FFFFul, prescalers01,
sizeof
(prescalers01) /
sizeof
(prescalers01[0])},
097
{0x000000FFul, prescalers2,
sizeof
(prescalers2) /
sizeof
(prescalers2[0])},
098
};
099
constexpr int8_t totalTimers =
sizeof
(timerParameters) /
sizeof
(timerParameters[0]);
100
//
101
//
102
// ЛИЦЕНЗИЯ
103
//
104
// Данный код поставляется по лицензии ПНХ.
105
//
106
// 1. Вы можете свободно использовать или не использовать его в коммерческих,
107
// некоммерческих, и любых иных, не запрещённых законом, целях.
108
//
109
// 2. Автор не несёт решительно никакой ответственности за любые положительные
110
// или отрицательные результаты использования или неиспользования данного кода.
111
//
112
// 3. Если Вам таки хочется сделать автору предъяву, то Вы знаете, куда
113
// Вам следует обратиться. А если не знаете, то см. название лицензии.
114
//
115
// 4. Если данный код вдруг Вам пригодился (как учебник или ещё как что) и Вам
116
// почему-либо (ну, приболели, может) захотелось отблагодарить автора рублём,
117
// то это всегда пожалуйста – WebMoney, кошелёк № R626206676373
118
//
119
// 5. Возникновение или невозникновение у Вас желаний, обозначенных в п.4
120
// настоящей лицензии никак не связано с п.1, который действует безусловно
121
// и независимо от п.4.
122
//
123
// 6. Если данный код нужен Вам с какой-либо другой лицензией, например, с
124
// сопровождением или Вы нуждаетесь во внесении изменений, свяжитесь с автором
125
// на предмет заключения договора гражданско-правового характера.
126
//
127
///////////////////////////////////////////////////////////////////////////////
128
129
constexpr uint32_t getPeriod(
const
uint32_t frequency) {
130
return
(FCPU + frequency / 2) / frequency;
131
}
132
133
constexpr uint16_t prValue(
const
int8_t prescalerId,
const
int8_t nTimer) {
134
return
timerParameters[nTimer].prescalers[prescalerId];
135
}
136
137
constexpr uint32_t getDesiredTicks(
const
uint32_t frequency,
const
int8_t prescalerId,
const
int8_t nTimer) {
138
return
(getPeriod(frequency) + prValue(prescalerId, nTimer) / 2) / prValue(prescalerId, nTimer);
139
}
140
141
constexpr uint32_t correctTicks(uint32_t dTicks,
const
uint32_t maxValue) {
142
return
dTicks > maxValue ? maxValue : dTicks;
143
}
144
145
constexpr uint32_t getTicks(
const
uint32_t frequency,
const
int8_t prescalerId,
const
int8_t nTimer) {
146
return
prescalerId >= timerParameters[nTimer].totalPrescalers ? 0x1FFFFFFF :
147
correctTicks(getDesiredTicks(frequency, prescalerId, nTimer), timerParameters[nTimer].maxValue);
148
}
149
150
constexpr uint32_t getBits(
const
int8_t prescalerId,
const
int8_t nTimer) {
151
return
prescalerId >= timerParameters[nTimer].totalPrescalers ? timerParameters[nTimer].totalPrescalers : prescalerId + 1;
152
}
153
154
155
constexpr int32_t absError(
const
uint32_t frequency,
const
int8_t prescalerId,
const
int8_t nTimer) {
156
return
abs(prescalerId >= timerParameters[nTimer].totalPrescalers ? 0x1FFFFFFF :
157
static_cast<int32_t>(getTicks(frequency, prescalerId, nTimer) * prValue(prescalerId, nTimer)) -
158
static_cast<int32_t>(getPeriod(frequency)));
159
}
160
161
constexpr uint8_t getPrescalerId(
const
uint32_t error,
const
uint32_t newError,
const
uint8_t prId,
const
uint8_t candidate,
const
uint32_t frequency,
const
int8_t nTimer) {
162
return
163
(prId >= timerParameters[nTimer].totalPrescalers) ? candidate
164
: getPrescalerId(newError, absError(frequency, prId+1, nTimer), prId+1, (error <= newError) ? candidate : prId, frequency, nTimer);
165
}
166
167
constexpr uint16_t getTimerTicks(
const
int8_t nTimer,
const
uint32_t freq) {
168
return
getTicks(freq, getPrescalerId(0x1FFFFFul, absError(freq, 0, nTimer), 0, 0, freq, nTimer), nTimer);
169
}
170
171
constexpr uint8_t getPrescalerBits(
const
int8_t nTimer,
const
uint32_t freq) {
172
return
getBits(getPrescalerId(0x1FFFFFul, absError(freq, 0, nTimer), 0, 0, freq, nTimer), nTimer);
173
}
174
175
#endif // CONSTTIMERS_H
Без маразма проще
01
#include "lgtx8p.h"
02
void
setup
() {
03
TCCR3B = 4;
04
OCR3A = 62500;
05
DDRF = 1<<2 | 1<<1;
// Разрешаем вывод в порты D1 и D2
06
TCCR3A=1<<COM3A0 | 1<<COM3B0;
// ПИН D2 + TXI
07
08
pinMode(13,OUTPUT);
09
10
11
}
// end-Setup
12
13
void
loop
(){
14
digitalWrite(13,!digitalRead(2));
15
}
// END
Без маразма проще
01
#include "lgtx8p.h"
02
void
setup
() {
03
TCCR3B = 4;
04
OCR3A = 62500;
05
DDRF = 1<<2 | 1<<1;
// Разрешаем вывод в порты D1 и D2
06
TCCR3A=1<<COM3A0 | 1<<COM3B0;
// ПИН D2 + TXI
07
08
pinMode(13,OUTPUT);
09
10
11
}
// end-Setup
12
13
void
loop
(){
14
digitalWrite(13,!digitalRead(2));
15
}
// END
так весь цимес в автоподборе коэффициентов )))
И таки да вы не умеете готовить 16 битный таймер, OCR3A = для WAVGAT не работает
пины разделяемы с таймером и на передающем большая подпора, порядка 1.5 вольта, а это за гранью добра, может в этом проблема?
По поводу пинов и таймера - простите, не совсем понимаю, что вы имеете в виду. Частота же по умолчанию такая же, как на меге - 16МГц, или ее обязательно надо явно предустанавливать?
Для согласования уровней напряжения использую платку на базе TXB0108, с мегой 328 отлично работает.
Кстати, ради интереса написал продавану с алиэкспресса, тот мне скинул обновленный аддон WAVGAT для IDE, в нем сподобились поправить модель МК для уны на правильную (LGT8F328P, а был, если мне память не изменяет, LGT8F328D).
По поводу пинов и таймера - простите, не совсем понимаю, что вы имеете в виду. Частота же по умолчанию такая же, как на меге - 16МГц, или ее обязательно надо явно предустанавливать?
я не о частоте иду речь, посмотрите осциллограмку здесь но постами ниже #117
Пример таймера, так вот при использовании таймера на пинах серийного порта (они разделяемые) на осциллограмме видна подпорка в шине 1.5 вольта на пине TXI.
Нормируемый уровень логической единицы для 5 вольтовой логики от 2.4 до 5.0 вольта, логического нуля от 0 до 0.9 вольта, 1.5 вольта это как бы и не нуль и не единица, при преобразовании в другие логические уровни можем получить неустойчивые состояния. Может это как раз ваш случай?
О как. Спасибо, не обратил внимания. HopeRF подключяется через SPI, если там такая же беда - причина вполне может быть в этом.
О как. Спасибо, не обратил внимания. HopeRF подключяется через SPI, если там такая же беда - причина вполне может быть в этом.
схему я не видел, но что-то это подпорку образует )))
Это надо исследовать.
Пришлите пожалуйста ваш новый аддон (мой ник на яндексе), посмотрю, что за вещь
Помогите разобраться !!!
Использую дисплей L2F50 библиотека отсюда http://compcar.ru/forum/showthread.php?t=7237
С платой Wemos XI в которой стоит lgt8f328D все работает нормально. Если программу заливаю в "зеленую" плату с lgt8f328P изображение пропадает идут вертикальные полосы с шумом.
Платы рабочие, проверил на вывод информации в "сериал" все проходит корректно.
Привет. Я откомпилировал скетч, который прекрасно работал на оригинальной Атмега328. И что я вижу?
Я вижу, что функция delay() не работает вообще, а millis() ведет себя очень странно, вместо интервала в 15 секунд, я получаю около 30.
Ребята, как я могу правильно настроить таменги?
Уважаемые Геру, пожалуста, не отсылате к экспериментам на первой странице. Лучше соберите все в один пост кудато, типа - "вот так включать 32Мгц", а вот так "правильные таминги и правильные таймеры при 16, а так при 32-х".
Аддон использовал этот https://github.com/LGTMCU/Larduino_HSP
вот иссуе открыл https://github.com/LGTMCU/Larduino_HSP/issues/4
Ребята, как я могу правильно настроить таменги?
Например тему почитать, все это уже описывалось.
Ребята, как я могу правильно настроить таменги?
Например тему почитать, все это уже описывалось.
ты не понял, чел хочет, чтобы ему всё в одну тему вложили )))
Ребята, как я могу правильно настроить таменги?
Например тему почитать, все это уже описывалось.
ты не понял, чел хочет, чтобы ему всё в одну тему вложили )))
,Ну, и что в этом плохого?
Ребята, как я могу правильно настроить таменги?
Например тему почитать, все это уже описывалось.
ты не понял, чел хочет, чтобы ему всё в одну тему вложили )))
даже наоборот, только если бы это вы сами перелопатили весь форум и собрали, даже больше, спасибо народ скажет...
а у меня к примеру всё работает правильно, мне в принципе это даже и не надо
а у меня к примеру всё работает правильно, мне в принципе это даже и не надо
Может подскажете по п.200 ?
http://arduino.ru/forum/apparatnye-voprosy/obzor-klona-megi328-lgt8f328p?page=3#comment-463387
renoshnik, а что за "зелёная" плата? Платой по-умолчанию в данной теме можно считать плату wavgat nano из топика, по всем остальным нужно писать конкретнее. Модель, производитель, ссылка на продавца итд итп
Если бы я чувствовал в себе скил сделать это, я бы так и сделал. А не просил бы помощи.
Кстати, получил ответ на гитхабе, мантейнер говорит, что версия не до конца совместима. Потому как первый таймер управляет ШИМ, а не так как в оригинальной атмега. Если ШИМ не нужен, предлагает поправленную версию (мне то как раз нужен).
И вы заявляете, что у вас все корректно? Как? Каким аддоном пользуетесь?
Ладно, delay() я могу и свой написать. Как тайминги корректно выставить для millis(), или тупо на два делить прикажите?
у меня плата из поста 0
renoshnik, а что за "зелёная" плата? Платой по-умолчанию в данной теме можно считать плату wavgat nano из топика, по всем остальным нужно писать конкретнее. Модель, производитель, ссылка на продавца итд итп
Понял.
1 - "красная" Wemos XI у продавца ссылка уже не активна, но вот есть обзор
https://arduinoplus.ru/wemos-xi/
2 - "зеленая" XI (LGT) NANO ссылка на продавца
https://ru.aliexpress.com/item/32764817280.html?spm=a2g0s.9042311.0.0.274233edZX9pJ4
Как я понимаю они отличаются только контроллерами в первой LGT8F328D а во второй LGT8F328P
и что ты хочешь? да, на второй плате процессор правильный, а где кварц?
У меня такая плата, и тоже без кварца.
€ 0,72 6%OFF | LGT8F328P-LQFP32 MiniEVB Alternative Arduino Nano V3.0 ATMeag328P HT42B534-1 SOP16 USB Driver Good Quality and Cheap Price
https://s.click.aliexpress.com/e/30GLxZQ1N