Я правильно понял, исходя из информации на предыдущей странице, что имея две lgt-шки(в форм-факторе нано, зелёные), одну можно превратить в программатор просто влив в неё LGTISP.hex от братца Яна, к примеру таким вот образом:
Я правильно понял, исходя из информации на предыдущей странице, что имея две lgt-шки(в форм-факторе нано, зелёные), одну можно превратить в программатор просто влив в неё LGTISP.hex от братца Яна, к примеру таким вот образом:
Подскажите, а сон случайно не изучали на этой плате и режимы его?
Пытался разобраться и столкнулся со следующим: (1) битовые маски режимов не совпадают, (2) из режима power save по прерыванию от clock2 не выходит ни в обычном режиме (как вроде должна выходит мега328) ни в асинхронном режиме на частоте кварца 12 МГц.
Все попытки писать на чистом Си и следуя даташиту не привели к успеху. Засыпает намертво. Варианты использования модуля PMU не предлагать! Не подходит.
Если знаете как, перейдем в личку.
ЗЫ: Для себя, подписчиков и просто читателей темы причесываю перевод даташит на сабж с индексацией по заголовкам. Если не терпится, выложу обработанный примерно на 40% вариант. Остальное переведено, но находится некоей "каше" китайского с английским и плохо проиндексировано.
MartynovElectric, по поводу режима PWM в другой теме уже написали вам, выбирайте нужный режим, ставьте корректно WGM биты.
У вас в скетче 15-й режим, про него в datasheet прямо так и написано "Когда WGM3 равен 15: сигнал OC3A переключается во время сравнения, а OC3B выключается" Т.е. работает именно так, как вы его запрограммировали. Самые удобные режимы где TOP=ICR3, тогда регистром ICR задаёте частоту, регистрами OCR скважность.
По поводу "Важно, вначале необходимо загрузить верхний регистр!!! Затем нижний, Нельзя как для Atmega328 - OCR3A = topValue;"
ставьте корректно аддон Давида, там нет такой проблемы. Недавно ж про это же писали, сообщение #559
Всем привет, столкнулся с проблемой в tone(pin, frequency, duration), при попытке проиграть мелодию, она сжовывается, ощущение что duration игнорируется, кто нибудь сталкивался?
Тестовую программу я написал на C и скомпилировал avr-gcc. Программа успешно записывается в lgt8f328p через программатор и работает, как положено. А, вот, eeprom не хочет записываться - при верификации записанного пишет о несовпадении уже с первого байта.
Может быть, кто-то сталкивался? Или подскажет другой способ заливки eeprom без загрузчика?
vk@debian:~/lgt8f/tests$ avrdude -v -p m328p -c stk500v1 -P /dev/ttyUSB0 -U eeprom:w:_eep:r
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/etc/avrdude.conf"
User configuration file is "/home/vk/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : stk500v1
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 3
Firmware Version: 5.1
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as FF
avrdude: safemode: efuse reads as FF
avrdude: reading input file "_eep"
avrdude: writing eeprom (1 bytes):
Writing | ################################################## | 100% 0.43s
avrdude: 1 bytes of eeprom written
avrdude: verifying eeprom memory against _eep:
avrdude: load data eeprom data from input file _eep:
avrdude: input file _eep contains 1 bytes
avrdude: reading on-chip eeprom data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x20
avrdude: verification error; content mismatch
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as FF
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK (E:FF, H:FF, L:FF)
avrdude done. Thank you.
Neon_1, они всегда поддерживались, ничего не надо добавлять. Если тактирование не от кварца - должно работать.
а какие цифры использовать? 27 и 28 не работают...хотя с блинком не проверял, у меня к этим пинам подключена max7219 и после прошивки они просто висят в воздухе
и может есть где-то чип со подписанными выводами , как у атмег? пока нашел только готовые платы
проверил 27 и 28 блинком - не работает
апдейт - 36 на LGT8F328 - PB7, 42 на LGT8F328 - PB6
Neon_1, а вот оно чё. Ну тогда как вариант можно попробовать дописать нужные определения в те секции массивов имён портов и бит, что относятся к (__LGT8FX8P__)
После 343 строки вставить
PB, /* 28 */
PB, /* 29 */
После 397 строки вставить
_BV(6), /* 28, port B6 */
_BV(7), /* 29, port B7 */
Хотя формально арду-пины 28 и 29 заняты (строки 203..209), но подозреваю что одно другому мешать не будет.
Находил ли кто-то информацию о внутреннем сопротивлении выходов этого МК? Или, например, электрические характеристики, как для атмеги (в ее даташите в разделе 31.8.8 Pin Driver Strength)?
В документации на lgt8t328p я нашел только, что ток портов ввода-вывода то ли 12мА, то ли 30мА (мне так и не стало понятно сколько, все же...). И для нескольких линий можно установить режим до 80мА.
подскажите пожалуйста как на этой поделке использовать одновременно сдвоенные пины поключил по картинке экран от simens a55 соединил пины экрана перемычками которые попадают на сдвоенный пин (8-9 , 10-11) и ничего не заработало
В 107 посте было написано, как затактироваться таймером 1 на частоте 64 мГц.
Тактирование таймера1 от 64 МГц
#include "lgtx8p.h"
TCKSR|=1<<F2XEN;
TCKSR|=1<<TC2XS1;
Попробовал это сделать и похоже тактирование при этом происходит на RC внутреннем генераторе. По блок схеме умножение на 2 вроде доступно только для внутреннего генератора?
То есть как я правильно понял если на плате стоит внешний кварц на 16 мгц то таймер 1 может работать максимум на 16 мгц а сам процессор на 32 мгц?
Neon_1, а вот оно чё. Ну тогда как вариант можно попробовать дописать нужные определения в те секции массивов имён портов и бит, что относятся к (__LGT8FX8P__)
После 343 строки вставить
PB, /* 28 */
PB, /* 29 */
После 397 строки вставить
_BV(6), /* 28, port B6 */
_BV(7), /* 29, port B7 */
Хотя формально арду-пины 28 и 29 заняты (строки 203..209), но подозреваю что одно другому мешать не будет.
сегодня решил прошить LGT8... но плат этих в ардуино не оказалось, как то сами удалились, поставил снова , но теперь опять порты PB6 и PB7 не работают, хотя файл pins_arduino.h откорректирован
Величины не знаю, но проверяю практически: программно включаю подтяжку, подключаю резистор килоом на 50-т к общему проводу. Измеряю падение напряжения на этом резисторе, затем расчитываю внутренний резистор. Его величина может изменяться в зависимости от экземпляра микроконтроллера.
Здравствуйте ув. ФорумчАне! Помогите подружить библиотеку TFT_ST7735( https://github.com/Bodmer/TFT_ST7735?ysclid=m0sadjgopy189183293) и соответсвенно дисплей 1.77 синий и 1.8 красный с 328P-LQFP32. Весь функционал вышеуказанной библиотеки прекрасно работает на близнеце 328P-LQFP32 по распиновкне Ардуино Нано с резистивными делителями. Т.е чистота эксперимента по аппаратной и программной части соблюдается. При работе 328P-LQFP32 с примерами из папки TFT_ST7735 белый экран с мерцанием, иногда появляются или артефакты или небольшие части изображения из скетча примеров. И еще, с LQFP32 работает скетч TFTPong.ino из папки C:\Program Files (x86)\Arduino\libraries\TFT\examples\Arduino, пины соответственно поправлены для библиотеки TFT_ST7735.
Всем доброго времени суток!
Столкнулся с проблемой по аналоговым портам LGT8F328P Pro Mini.
Заливал скетч с записью pinMode(A4, INPUT_PULLUP); // подключаем фоторезистор к А4
В результате 1-2 платы из десяти отказали. На всех аналоговых портах напряжение 0.1 вольта.
Перепрошивка без PULLUP положительного результата не дает.
Подпайка к аналоговым портам подтягивающего резистора 15 кОм результата не дает, на портах остается низкое напряжение. Впечатление такое что PULLUP пробивает аналоговые порты.
Кто сталкивался с такой проблемой и как ее решить?
Спасибо всем УВАЖАЕМЫМ ФОРУМЧАНАМ за восстановление фиолетовой LGT8F328P!!!
Записал прошивальщик на UNO и потом прошил скетч на плату. Блинк обычный. Как по видео Ув.Асиличенко о прошивке про мини версии.
Причем при записи нужно обязательно переподключать сам программатор (UNO) в комп. Иначе писать не хочет.
Кондер ставил, а вот сопротивление нет. Так прошилось.
После блинка попробовал прошить сам загрузчик.
ИДЕ ругнулось на адреса, но загрузчик прошило.
Ещё раз СПАСИБО всем за науку!!! А то уж думал выкидывать контроллер!
Я правильно понял, исходя из информации на предыдущей странице, что имея две lgt-шки(в форм-факторе нано, зелёные), одну можно превратить в программатор просто влив в неё LGTISP.hex от братца Яна, к примеру таким вот образом:
А затем, соединив соответствующие пины, прошить уже вторую, изменив командную строку на:
Или я слишком наивен и не всё так просто? Знающие и опытные, подскажите, пожалуйста.
Я правильно понял, исходя из информации на предыдущей странице, что имея две lgt-шки(в форм-факторе нано, зелёные), одну можно превратить в программатор просто влив в неё LGTISP.hex от братца Яна, к примеру таким вот образом:
А затем, соединив соответствующие пины, прошить уже вторую, изменив командную строку на:
Или я слишком наивен и не всё так просто? Знающие и опытные, подскажите, пожалуйста.
да, но можно и UNO или nano, только хэкс будет другой, это не отменяет установки поддержки этих плат, далее выбирать придётся нужную вам плату
Подскажите пожалуйста, а как в коде вызвать ресет программы?
Хочу отработать в коде по прерыванию, кладу контроллер в сон, но он из него по прерыванию с ноги d2 начинает вроде просыпаться и зависает на WK
Сам спросил - сам отвечу)
Прочитал эту ветку, но так и не смог настроить ШИМ на D2 (F2). Сильно хочется высокотоковый выход.
Тему уже создал отдельно: https://arduino.ru/forum/programmirovanie/lgt8f328p-nastroika-shim-na-pd2int0oc3b#comment-656948
Можно здесь ответить, можно там. Вот кусочек кода:
Меняет не скважность, а часту и то только на TX (что не нужно).
DENNIS, Если выбрать как нано, то будет работать на 4 МГц, всё правильно. Ставь аддон https://github.com/dbuezas/lgt8fx
Подскажите, а сон случайно не изучали на этой плате и режимы его?
Пытался разобраться и столкнулся со следующим: (1) битовые маски режимов не совпадают, (2) из режима power save по прерыванию от clock2 не выходит ни в обычном режиме (как вроде должна выходит мега328) ни в асинхронном режиме на частоте кварца 12 МГц.
Все попытки писать на чистом Си и следуя даташиту не привели к успеху. Засыпает намертво. Варианты использования модуля PMU не предлагать! Не подходит.
Если знаете как, перейдем в личку.
ЗЫ: Для себя, подписчиков и просто читателей темы причесываю перевод даташит на сабж с индексацией по заголовкам. Если не терпится, выложу обработанный примерно на 40% вариант. Остальное переведено, но находится некоей "каше" китайского с английским и плохо проиндексировано.
ЗЗЫ: На английском
Всем привет, столкнулся с проблемой в tone(pin, frequency, duration), при попытке проиграть мелодию, она сжовывается, ощущение что duration игнорируется, кто нибудь сталкивался?
Проверял http://arduino.ru/forum/apparatnye-voprosy/obzor-klona-megi328-lgt8f328p?page=7#comment-591258
Плата... редкий случай, у родных пенатов есть интереснее, но дороже
Очки ... Это вторые...
Сделал самодельный переходник. Пришлось у отца очки напрокат взять, чтобы припаять этот чип... но вроде получилось. Буду проверять
Хотел фото прилепить, но чёт не разобрался, как...
dimax, Спасибо! теперь всё понятно )))
может быть у кого -то получилось запустить библиотеку sdfat на этой плате?
Добрый день. Ищу помощи.
Мне необходимо записать eeprom программатором через SWD-интерфейс (я использую lgt8f328p без бутлодера).
Программатор я сделал из ардуинки lgt8f328p с помощью скетча LGTISP (https://github.com/SuperUserNameMan/LGTISP). И использую avrdude.
Тестовую программу я написал на C и скомпилировал avr-gcc. Программа успешно записывается в lgt8f328p через программатор и работает, как положено. А, вот, eeprom не хочет записываться - при верификации записанного пишет о несовпадении уже с первого байта.
Может быть, кто-то сталкивался? Или подскажет другой способ заливки eeprom без загрузчика?
подскажите как добавить в файл pins_arduino.h поддержку выводов 7 (PB6) и 8 (PB7) ?
Neon_1, они всегда поддерживались, ничего не надо добавлять. Если тактирование не от кварца - должно работать.
Neon_1, они всегда поддерживались, ничего не надо добавлять. Если тактирование не от кварца - должно работать.
а какие цифры использовать? 27 и 28 не работают...хотя с блинком не проверял, у меня к этим пинам подключена max7219 и после прошивки они просто висят в воздухе
и может есть где-то чип со подписанными выводами , как у атмег? пока нашел только готовые платы
проверил 27 и 28 блинком - не работает
апдейт - 36 на LGT8F328 - PB7, 42 на LGT8F328 - PB6
Neon_1, в описании ног аддона есть все дефайны.. https://github.com/dbuezas/lgt8fx/blob/master/lgt8f/variants/standard/pi...
Neon_1, в описании ног аддона есть все дефайны.. https://github.com/dbuezas/lgt8fx/blob/master/lgt8f/variants/standard/pi...
спасибо, этот файл смотрел
PB6 и PB7 есть только в #if defined(__LGT8FX8P48__)
если правильно понимаю , то это только для LGT8FX8P48
Neon_1, а вот оно чё. Ну тогда как вариант можно попробовать дописать нужные определения в те секции массивов имён портов и бит, что относятся к (__LGT8FX8P__)
спасибо, попробую
блинк работает с 36 и 42, а вот max7219 пока не хочет, ставлю lgt8f328 вместо atmega328, дорожки уже разведены
спасибо большое, заработало, сам бы не разобрался :)
Находил ли кто-то информацию о внутреннем сопротивлении выходов этого МК? Или, например, электрические характеристики, как для атмеги (в ее даташите в разделе 31.8.8 Pin Driver Strength)?
В документации на lgt8t328p я нашел только, что ток портов ввода-вывода то ли 12мА, то ли 30мА (мне так и не стало понятно сколько, все же...). И для нескольких линий можно установить режим до 80мА.
Подскажите по SPI для LGT8T328p.
Есть проверенная на ATMega328p функция:
ATMega328P
LGT8F328P (без костыля)
while(!(SPSR & (1<<SPIF))); Не ждет окончания передачи. Пришлось ставить задержку, чтобы строб передать по окончанию передачи.
Подскажите как поправить код для LGT8F328P
Подскажите как поправить код для LGT8F328P
В файле SPI.h для LGT, функция transfer не использует флаг SPIF для _LGT8FX8P_
Почему сделано именно так пока не разобрался
RDEMPT - флаг пустого буфера (данные не получены).
while
((SPFR & _BV(RDEMPT))) -
Получается ждем приема байта.А как определить конец передачи из сдвигового регистра (не опустошение буфера)?
PS Немного затупил.
Флаг приема выставляется и после окончания передачи.
Проверил.
Работает корректно.
3-й бит CLK какой-то кривой
3-й бит CLK - это с конца?
Возможно не корректно измерил Logic
3-й бит CLK какой-то кривой
Простой китайский 8 канальный 24МГц.
Нормальных Российских за такую цену не нашел.
kvn234
Нормальных Российских за такую цену не нашел.
А какие есть ненормальные российские ЛА?
Про Российские я пошутил.
Не при нашей жизни.
Понял.
подскажите плиз почему данный МК нельзя прошить через SPI?
подскажите пожалуйста как на этой поделке использовать одновременно сдвоенные пины поключил по картинке экран от simens a55 соединил пины экрана перемычками которые попадают на сдвоенный пин (8-9 , 10-11) и ничего не заработало
3 раза одно и то же отправило и как это теперь удалить
и это
Всем привет.
Нужна высокоскоростная ШИМ для ЗУ. Подскажите ссылку.
Как я понимаю нужно использовать PLL.
В 107 посте было написано, как затактироваться таймером 1 на частоте 64 мГц.
Тактирование таймера1 от 64 МГц
#include "lgtx8p.h"
TCKSR|=1<<F2XEN;
TCKSR|=1<<TC2XS1;
Попробовал это сделать и похоже тактирование при этом происходит на RC внутреннем генераторе. По блок схеме умножение на 2 вроде доступно только для внутреннего генератора?
То есть как я правильно понял если на плате стоит внешний кварц на 16 мгц то таймер 1 может работать максимум на 16 мгц а сам процессор на 32 мгц?
Neon_1, а вот оно чё. Ну тогда как вариант можно попробовать дописать нужные определения в те секции массивов имён портов и бит, что относятся к (__LGT8FX8P__)
сегодня решил прошить LGT8... но плат этих в ардуино не оказалось, как то сами удалились, поставил снова , но теперь опять порты PB6 и PB7 не работают, хотя файл pins_arduino.h откорректирован
поставил предыдущую версию платы - работает
В русском даташите (стр.251)есть описание калибровки АЦП.
Если кто делал, напишите насколько она повышает точность измерений АЦП и если не жалко исходник.
А кто то знает сопротивление внутренней подтяжки?
Слыхал, что у Атмега 30к. А у ЛГТшки меньше. Но нигде не могу найти значение.
Величины не знаю, но проверяю практически: программно включаю подтяжку, подключаю резистор килоом на 50-т к общему проводу. Измеряю падение напряжения на этом резисторе, затем расчитываю внутренний резистор. Его величина может изменяться в зависимости от экземпляра микроконтроллера.
Здравствуйте ув. ФорумчАне! Помогите подружить библиотеку TFT_ST7735( https://github.com/Bodmer/TFT_ST7735?ysclid=m0sadjgopy189183293) и соответсвенно дисплей 1.77 синий и 1.8 красный с 328P-LQFP32. Весь функционал вышеуказанной библиотеки прекрасно работает на близнеце 328P-LQFP32 по распиновкне Ардуино Нано с резистивными делителями. Т.е чистота эксперимента по аппаратной и программной части соблюдается. При работе 328P-LQFP32 с примерами из папки TFT_ST7735 белый экран с мерцанием, иногда появляются или артефакты или небольшие части изображения из скетча примеров. И еще, с LQFP32 работает скетч TFTPong.ino из папки C:\Program Files (x86)\Arduino\libraries\TFT\examples\Arduino, пины соответственно поправлены для библиотеки TFT_ST7735.
Всем доброго времени суток!
Столкнулся с проблемой по аналоговым портам LGT8F328P Pro Mini.
Заливал скетч с записью pinMode(A4, INPUT_PULLUP); // подключаем фоторезистор к А4
В результате 1-2 платы из десяти отказали. На всех аналоговых портах напряжение 0.1 вольта.
Перепрошивка без PULLUP положительного результата не дает.
Подпайка к аналоговым портам подтягивающего резистора 15 кОм результата не дает, на портах остается низкое напряжение. Впечатление такое что PULLUP пробивает аналоговые порты.
Кто сталкивался с такой проблемой и как ее решить?