Котуинко
Re: Котуинко
Значит у Вас какая-то из библиотек не соответствует стандарту С99. Или же некая функция написана в стандарте С99, а компилятор не умеет. И для того, чтобы найти, надо покопаться в коде. У меня ничего подобного не наблюдается. Но я то в LGT8 пока только один Blink и шил то. А у Вас наверное там код посерьёзнее?
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Re: Котуинко
Скорее последствия изготовления программатора на IDE версии 1.8.9, а работа с прошивкой платок LGT на IDE версии 1.8.19.
У меня обе версии установлены и допускают независимую работу.
Позже ещё разок соберу макет для перепроверки, как настроение будет.

У меня обе версии установлены и допускают независимую работу.
Позже ещё разок соберу макет для перепроверки, как настроение будет.
Re: Котуинко
Интересно, это только у меня так?...

или только "местные особенности" влияют?
или моё "КАРР" (https://radiokot.ru/forum/viewtopic.php ... 0#p4752270) сбылося?
Любая попытка входа на сайт ардуино (https://www.arduino.cc/)


или только "местные особенности" влияют?
или моё "КАРР" (https://radiokot.ru/forum/viewtopic.php ... 0#p4752270) сбылося?
Любая попытка входа на сайт ардуино (https://www.arduino.cc/)
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Котуинко
В нынешнее время надо пользоваться тем, что запрещено рекламировать, чтобы увидеть, что нам недоступно из-за блокировок...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Котуинко
Причем тут "запрещенная реклама"???
Простейший вопрос в скачивании дистрибутива ардуино IDE (без разницы какой из версий) да доступ к онлайн хелпу (с версии 2.х.х эта функция стала "он лайн").
Доступ к обновлению платформ...
Ранее таки было "свободно- бесплатное".
Проблемы пошли недели две -три назад... Причем случайно обнаружил - попытка переустановки "с нуля" ардуиноIDE и\или обновления через менеджер платформ для версий 1.8.9 и 1.8.19. Да и из 2.3.6 уже справочки с сайта недоступны.
Хотя... Я предполагал очередную "прихватизацию" (чтоб простолюбителям проблемы создавать - "...уж слишком моного вумных появилось...")...
С другой стороны - переживемс и этот "эксцесс" - не в первый раз уже...

Простейший вопрос в скачивании дистрибутива ардуино IDE (без разницы какой из версий) да доступ к онлайн хелпу (с версии 2.х.х эта функция стала "он лайн").
Доступ к обновлению платформ...
Ранее таки было "свободно- бесплатное".
Проблемы пошли недели две -три назад... Причем случайно обнаружил - попытка переустановки "с нуля" ардуиноIDE и\или обновления через менеджер платформ для версий 1.8.9 и 1.8.19. Да и из 2.3.6 уже справочки с сайта недоступны.
Хотя... Я предполагал очередную "прихватизацию" (чтоб простолюбителям проблемы создавать - "...уж слишком моного вумных появилось...")...
С другой стороны - переживемс и этот "эксцесс" - не в первый раз уже...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Котуинко
То, что не заблокировали нам в качестве санкций, блокируем мы в качестве безопасности. Вдруг вы на том сайте начнете ВСУ финансировать?! А так - нет доступа, и все за вас спокойны...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- главный колбасист
- Это не хвост, это антенна
- Сообщения: 1325
- Зарегистрирован: Чт авг 21, 2014 11:11:48
- Откуда: краснодарский край
- Контактная информация:
Re: Котуинко
Да. И дулю всем.ARV писал(а):А так - нет доступа, и все за вас спокойны...
Re: Котуинко
Собственно ничего нового - единственно надо к подобной ситуации заранее готовиться.
О чем ранее уже не раз говаривалось (те же микрощип да атмел в не столь далеком прошлом)...
Нынче стоит присмотреться к группе ARM микроконтроллеров и особо к средствам разработки для ESP8266/ESP32 (наверняка будут следующими в группе "подссакционных")...
Жаль только "отечественного софта/IDE" да еще и свободно - бесплатного пока не наблюдается...
Кстати...
Рекомендую вспомнить работу с разграфленными под линеечку (собственными лапками да карандашиком) листочками, нарисованными от руки таблицами команд для "ручного ассемблера" и старые-добрые MCS51, MCS48, Z80, I8080 (в старых кладовках валяющиеся).
Ну и архивными копиями старого софта под ДОС не брезговать.
Мало ли чего нас еще из "нежданчиков" ожидает.
Весьма хорошо архивируются для резервного восстановления/переноса портабле версии ардуиноIDE 1.8.9 и 1.8.19

О чем ранее уже не раз говаривалось (те же микрощип да атмел в не столь далеком прошлом)...
Нынче стоит присмотреться к группе ARM микроконтроллеров и особо к средствам разработки для ESP8266/ESP32 (наверняка будут следующими в группе "подссакционных")...
Жаль только "отечественного софта/IDE" да еще и свободно - бесплатного пока не наблюдается...
Кстати...
Рекомендую вспомнить работу с разграфленными под линеечку (собственными лапками да карандашиком) листочками, нарисованными от руки таблицами команд для "ручного ассемблера" и старые-добрые MCS51, MCS48, Z80, I8080 (в старых кладовках валяющиеся).
Ну и архивными копиями старого софта под ДОС не брезговать.
Мало ли чего нас еще из "нежданчиков" ожидает.
Весьма хорошо архивируются для резервного восстановления/переноса портабле версии ардуиноIDE 1.8.9 и 1.8.19
- главный колбасист
- Это не хвост, это антенна
- Сообщения: 1325
- Зарегистрирован: Чт авг 21, 2014 11:11:48
- Откуда: краснодарский край
- Контактная информация:
Re: Котуинко
Вот вот. Самое время. Валяется целая куча ВЕ31, ВЕ51, ВЕ39, Z80, 580ВМ80 похищенных в своё время ещё предками. Так толком и не освоенных. Мне стыдно.BOB51 писал(а):Рекомендую вспомнить работу с разграфленными под линеечку (собственными лапками да карандашиком) листочками, нарисованными от руки таблицами команд для "ручного ассемблера" и старые-добрые MCS51, MCS48, Z80, I8080 (в старых кладовках валяющиеся).
Re: Котуинко
Для 51 особо проблем нет (если со встроенным ПЗУ)...
А вот с внешним - там заморочек заметно больше.
Надо и со схемотехникой и с железом сопровождения (программатор для ПЗУшек и эмулятор ПЗУ) иметь под руками...
Да и жреть по питанию такая конструкция по нынешний меркам весьма крокодилисто.
Однако при продолжении проблем с "ссакциями" (как внешними так и со стороны "внутренних дурней") вполне может сгодиться " на "безрыбье"".
Хотя... Возможно братцы с Китая да Северной Кореи нам помогут.
(Правда там иероглифы учить...
)

А насчет освоения - не нужно печалиться!
В каждой эпохе свои предпочтения и необходимости изучения, связанные с практическим применением.
Что просто "для беглого ознакомления", а что и фундаментально изучать надо.
Элементная база меняется с геометрической прогрессией - все детально знать - мозги взррвутся.
На сегодня надо скорее " изучение по прециденту" применять.

А вот с внешним - там заморочек заметно больше.
Надо и со схемотехникой и с железом сопровождения (программатор для ПЗУшек и эмулятор ПЗУ) иметь под руками...
Да и жреть по питанию такая конструкция по нынешний меркам весьма крокодилисто.
Однако при продолжении проблем с "ссакциями" (как внешними так и со стороны "внутренних дурней") вполне может сгодиться " на "безрыбье"".
Хотя... Возможно братцы с Китая да Северной Кореи нам помогут.
(Правда там иероглифы учить...
А насчет освоения - не нужно печалиться!
В каждой эпохе свои предпочтения и необходимости изучения, связанные с практическим применением.
Что просто "для беглого ознакомления", а что и фундаментально изучать надо.
Элементная база меняется с геометрической прогрессией - все детально знать - мозги взррвутся.
На сегодня надо скорее " изучение по прециденту" применять.
Re: Котуинко
[uquote="serg_svd",url="/forum/viewtopic.php?p=4764200#p4764200"]Значит у Вас какая-то из библиотек не соответствует стандарту С99 .....[/uquote]
Нашел я таки откуда выскакивает
Warning: linked C library does not conform to C99; avrdude may not work as expected
Только вот устранить пока можно только "шаманизмом"... цепочкой манипуляций при открытии проекта...
Вероятная причина - у меня в обновлениях платформ от MCUdude появилась аврдуде 8... и какого то х... по умолчанию запуск программатора иногда на нее перескакивает... Поточнее надо б статистику собрать, да весьма нудно-долго (на сегодня в моих краях с эляктричеством нестабильно)...
Помимо прочего рекомендуется временные файлы предыдущего "мусора" в случае с эксплуатацией портабле версий поудалять.
Размещение этого мусора ищем в скрытых папках по этому пути:
удаляются все arduino_хххххххх_ххххххххх
Воть пока вкратце все, что пособирал...

Нашел я таки откуда выскакивает
Warning: linked C library does not conform to C99; avrdude may not work as expected
Только вот устранить пока можно только "шаманизмом"... цепочкой манипуляций при открытии проекта...
Вероятная причина - у меня в обновлениях платформ от MCUdude появилась аврдуде 8... и какого то х... по умолчанию запуск программатора иногда на нее перескакивает... Поточнее надо б статистику собрать, да весьма нудно-долго (на сегодня в моих краях с эляктричеством нестабильно)...
Помимо прочего рекомендуется временные файлы предыдущего "мусора" в случае с эксплуатацией портабле версий поудалять.
Размещение этого мусора ищем в скрытых папках по этому пути:
Код: Выделить всё
C:\Users\comp\AppData\Local\Temp\arduino_build_845037Воть пока вкратце все, что пособирал...
Re: Котуинко
Окончание разборок с надоедливым сообщением
по завершении операций загрузки в МК платформы lgt8fx версии 2.0.7 для портабле версий ардуиноIDE 1.8.9 и/или
1.8.19...
Речь о довольно бессистемном выбросе таких сообщений как для режима загрузки через программатор/загрузки бутлоадера, так и при загрузке через СОМ порт (USB-COM переходник).
Причем при компиляции-проверке (без загрузки в МК) данное сообщение никогда не появляется.
При включенных опциях подробного вывода сообщений по компиляции/загрузке было обнаружено, что сообщению об ошибке обычно предшествует ошибочный вызов avrdude более старшей версии (данная версия появилась в составе обновлений платформ от MCUdude)...
Каким то образом происходит перидическая случайная подстановка этих "чужих адресов", что выглядит вот таким образом:
в данном случае сама IDE на диске D, а вместо MegaCoreX может выскочить любая из обновленных платформ от MCUdude, имеющая в составе avrdude\8.0-arduino.1
....
Собственно кардинальным лечением после плясок шамана стало изменение содержимого в файле по адресу
в фрагменте
сделать замену на
Осталась только еще одна "нервность" - двойной вызов и исполнение аврдуде при операции загрузки бутлоадера - но там х/з... может для LGT так и надо - в принципе "работает - не тронь"...

Код: Выделить всё
Warning: linked C library does not conform to C99; avrdude may not work as expected1.8.19...
Речь о довольно бессистемном выбросе таких сообщений как для режима загрузки через программатор/загрузки бутлоадера, так и при загрузке через СОМ порт (USB-COM переходник).
Причем при компиляции-проверке (без загрузки в МК) данное сообщение никогда не появляется.
При включенных опциях подробного вывода сообщений по компиляции/загрузке было обнаружено, что сообщению об ошибке обычно предшествует ошибочный вызов avrdude более старшей версии (данная версия появилась в составе обновлений платформ от MCUdude)...
Каким то образом происходит перидическая случайная подстановка этих "чужих адресов", что выглядит вот таким образом:
Код: Выделить всё
D:\Arduino\portable\packages\MegaCoreX\tools\avrdude\8.0-arduino.1/bin/avrdude -CD:\Arduino\portable\packages\MegaCoreX\tools\avrdude\8.0-arduino.1/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b57600 -D -Uflash:w:C:\Users\asus\AppData\Local\Temp\arduino_build_604424/blinklgt.ino.hex:i
Warning: linked C library does not conform to C99; avrdude may not work as expected....
Собственно кардинальным лечением после плясок шамана стало изменение содержимого в файле по адресу
Код: Выделить всё
диск:\Arduino\portable\packages\lgt8fx\hardware\avr\2.0.7\platform.txtКод: Выделить всё
# AVR Uploader/Programmers tools
# ------------------------------
tools.avrdude.path={runtime.tools.avrdude.path}
tools.avrdude.cmd.path={path}/bin/avrdude
tools.avrdude.config.path={path}/etc/avrdude.confКод: Выделить всё
tools.avrdude.path={runtime.tools.avrdude-6.3.0-arduino17.path}
Re: Котуинко
Новогод скоро...
Задумка сделать несколько проектов АВРкиных замигаек под ассемблером, под адуринкой и под Си в атмелстудии...
На одном и том же МК (тинька 2313 и тинька 13 планируются).
А задача одна и та же - программный ШИМ с мультиплексированным выходом х4 плюс собственно для замигаек там ГСЧ...
Интересно - чего в сравнении результатов будет?
Вот собственно под ассемблером для Аттини2313 вариант:
схема макета
https://img.radiokot.ru/files/20529/3xtvmrbi8a.GIF
и сам проект следующее буду под адуринку неспешно мудрить - задача та же, макет тот же, платформа ATTinyCore-2.0.0... поглядим, что будет...

Кыстати...
раздумья гложуть...
в системах команд есть косвенное обращение к регистрам, к ячейкам памяти по содержимому находящихся в регистр - указателях данных...
НО... что то не попадалось команд косвенного обращения к битам - есть только прямоуказываемый в команде номер бита.
А вот есть ли МК, система команд у которого имеет именно косвенное обращение к отдельному биту (адрес бита не явно задан, а находится в регистре, указанном в команде)...??...
К примеру (для АВРок) для модификации бита n регистра M используется не
SBI M,n
а
SBI M,Rx где адрес n содержится в регистре Rx...

Задумка сделать несколько проектов АВРкиных замигаек под ассемблером, под адуринкой и под Си в атмелстудии...
На одном и том же МК (тинька 2313 и тинька 13 планируются).
А задача одна и та же - программный ШИМ с мультиплексированным выходом х4 плюс собственно для замигаек там ГСЧ...
Интересно - чего в сравнении результатов будет?
Вот собственно под ассемблером для Аттини2313 вариант:
схема макета
https://img.radiokot.ru/files/20529/3xtvmrbi8a.GIF
и сам проект следующее буду под адуринку неспешно мудрить - задача та же, макет тот же, платформа ATTinyCore-2.0.0... поглядим, что будет...
Кыстати...
раздумья гложуть...
в системах команд есть косвенное обращение к регистрам, к ячейкам памяти по содержимому находящихся в регистр - указателях данных...
НО... что то не попадалось команд косвенного обращения к битам - есть только прямоуказываемый в команде номер бита.
А вот есть ли МК, система команд у которого имеет именно косвенное обращение к отдельному биту (адрес бита не явно задан, а находится в регистре, указанном в команде)...??...
К примеру (для АВРок) для модификации бита n регистра M используется не
SBI M,n
а
SBI M,Rx где адрес n содержится в регистре Rx...
Re: Котуинко
Спеклася аналогия (выше выложенной под ассемблером) замигайки, выполненная в ардуиноIDE... версия IDE 1.8.9 или 1.8.19,
платформа ATTinyCore-2.0.0...
Собственно скрин настроек платформы и результата после "экспорта бинарного файла":
https://img.radiokot.ru/files/20529/3y0ntc7nlv.jpg
и сам проект А вот получится ли повторить под Си в АВРстудии 4.19....
Я такое еще не пробовал (может и не получится - я с Си только в рамках адуринки пока дружу)...

платформа ATTinyCore-2.0.0...
Собственно скрин настроек платформы и результата после "экспорта бинарного файла":
https://img.radiokot.ru/files/20529/3y0ntc7nlv.jpg
и сам проект А вот получится ли повторить под Си в АВРстудии 4.19....
Я такое еще не пробовал (может и не получится - я с Си только в рамках адуринки пока дружу)...
Re: Котуинко
А вот и вариант программы под СИ в АВРстудио 4.19...
Схема та же и программа та же, но... есть "некоторые различия"... Вобшчемс... смотрим и сравниваемссс....

Схема та же и программа та же, но... есть "некоторые различия"... Вобшчемс... смотрим и сравниваемссс....
Re: Котуинко
Для Полосатый
(https://radiokot.ru/forum/viewtopic.php ... 3#p4774803)
Минимальная демка ардуино нанки для ШИМ:
иначе ассемблерные вставки ...
Затраты на serial только для демо режима (вывод в монитор порта).

(https://radiokot.ru/forum/viewtopic.php ... 3#p4774803)
Минимальная демка ардуино нанки для ШИМ:
Спойлер
Код: Выделить всё
#define hasm0 1
#define hasm2 0b01000000
union {
uint64_t bigdat;
struct {
byte vdat0;
byte vdat1;
byte vdat2;
byte vdat3;
byte vdat4;
byte vdat5;
byte vdat6;
byte vdat7; } lowdat;
} recodum;
void rhas();
//----------------------------------------------------
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
rhas();
Serial.print(recodum.lowdat.vdat0, BIN);Serial.print(recodum.lowdat.vdat1, BIN);
Serial.print(recodum.lowdat.vdat2, BIN);Serial.print(recodum.lowdat.vdat3, BIN);
Serial.print(recodum.lowdat.vdat4, BIN);Serial.print(recodum.lowdat.vdat5, BIN);
Serial.print(recodum.lowdat.vdat6, BIN);Serial.println(recodum.lowdat.vdat7, BIN);
//delay(200);
}
//----------------------------------------------------
void rhas()
{
byte tmpa,tmpb;
if(recodum.bigdat == 0){recodum.bigdat = UINT64_MAX;}
tmpa = recodum.lowdat.vdat0 & hasm0;
if(tmpa){tmpa = 0xFF;}
tmpb = recodum.lowdat.vdat2 & hasm2;
if(tmpb){tmpb = 0xFF;}
tmpa = tmpa ^ tmpb;
recodum.bigdat = recodum.bigdat >> 1;
if(tmpa){bitWrite(recodum.lowdat.vdat7, 7, 1);}
else {bitWrite(recodum.lowdat.vdat7, 7, 0);}
}Затраты на serial только для демо режима (вывод в монитор порта).
Re: Котуинко
Спасибо.
Мне удалось сделать быстрее - до 30 кГц, но с большим джиттером. CLC сильно дрыгается и меняется длительность полупериодов.
Надо на один пин выводить случайные данные (могут быть любыми), а на другой - модифицированно-частотно модулированные (МЧМ), потому как нужно их сделать квазипеременными (без постоянной составляющей). Там всего пара строчек - if'ов.
На очереди работа с портами вместо digitalRead&Write и хотел использовать micros вместо delayMicroseconds, но нужно ждать этого микроса и ничего не делать (остановка программы).
Мне удалось сделать быстрее - до 30 кГц, но с большим джиттером. CLC сильно дрыгается и меняется длительность полупериодов.
Надо на один пин выводить случайные данные (могут быть любыми), а на другой - модифицированно-частотно модулированные (МЧМ), потому как нужно их сделать квазипеременными (без постоянной составляющей). Там всего пара строчек - if'ов.
Спойлер
Код: Выделить всё
// Set up potentiometer pin
#define POT_PIN A3
// Set up clock out pin
#define CLC_OUT 9
// Set up free pin (для ловли наводок)
#define FREE_PIN A1
// Set up random out pin (выход данных)
#define RANDOM_OUT 10
// Set up MFM out pin (выход МЧМ)
#define MFM_OUT 2
int RND = 0; // текущий бит данных
int RND_OLD = 0; // предыдущий бит данных
int POT = 5; // примерно полпериода в микросекундах
int MFM = 0; // текущий бит МЧМ
unsigned int arr[100]; // массив случайных чисел
int i=0;
int j=0;
void setup() {
// put your setup code here, to run once:
// Set ADC mode
// Регистр настройки мультиплексора
ADMUX = 0b01000011; // 0B0100011 - опорное Uпит (первые 01), 10 bit (3-й 0), A3 (последние 0011)
// Регистр статуса и контроля
ADCSRA = 0b11110011; // CLK/8 - ускоряем АЦП - в 8 раз ниже частоты процессора (32/8=4МГц)
// Set up pins as input
pinMode(POT_PIN, INPUT);
pinMode(FREE_PIN, INPUT);
// Set up pins as outputs
pinMode(CLC_OUT, OUTPUT);
pinMode(RANDOM_OUT, OUTPUT);
pinMode(MFM_OUT, OUTPUT);
digitalWrite(MFM_OUT, MFM);
randomSeed(analogRead(FREE_PIN));
// для пинов 9 и 10 (таймер1) - для 10 кГц вроде не обязательно
// TCCR1A = 0b00000001; // 8bit
// TCCR1B = 0b00001001; // x1 fast pwm - 62.5 кГц - для UNO и 125 кГц - для LGT8F328P
// Serial.begin (9600);
}
// Main loop - put your main code here, to run repeatedly:
void loop() { // до 30 кГц без задержек на random и ускорением чтения потенциометра
for(i = 0; i < 100; i++){ // в массиве будет 100 элементов //
arr[i] = random(65536); // заполним массив случайными числами // Чтобы потом в цикле не вносить задержек
}
while(true){ // бесконечный цикл
// RND = random (2); // 0 или 1, вносит задержку примерно 40 мкс
digitalWrite(CLC_OUT, HIGH); // переключаем СLC на HIGH - тактовая частота, желателен меандр
RND = bitRead(arr[i], j); // чтение битов массива
digitalWrite(RANDOM_OUT, RND); // вывод случайных данных на 10-й пин
if (RND < 1 && RND_OLD < 1) digitalWrite(MFM_OUT, !digitalRead(MFM_OUT)); // смена логического уровня МФМ // в начале бита данных, если второй 0 подряд
j=j+1; //
if(j > 15) { // последовательное чтение
j = 0; // битов из массива
i=i+1;
} // (быстрее, чем random (2))
if(i > 99) i = 0; //
// POT = analogRead(POT_PIN); // чтение потенциометра
// POT = map(POT, 20, 1000, 1, 512); // масштабируем до диапазона 1 ... 512
// POT = constrain(POT, 1, 512); // ограничиваем диапазон, чтобы исключить выбросы
delayMicroseconds(POT+15); // 30 кГц, большой джиттер (+15 мкс - проверял стабильность)
digitalWrite(CLC_OUT, LOW); // переключаем СLC на LOW - тактовая частота, желателен меандр
if (RND > 0) digitalWrite(MFM_OUT, !digitalRead(MFM_OUT)); // переход уровня МФМ при 1 данных по спаду CLC - в середине бита, т.е. CLC должен быть меандром
RND_OLD = RND;
POT = analogRead(POT_PIN); // читаю при CLC=LOW, чтобы приблизить к меандру
// POT = map(POT, 20, 1000, 1, 512); // Тоже отнимают много времени
// POT = constrain(POT, 1, 512); // поэтому пока отключил
delayMicroseconds(POT+10); // 30 кГц, большой джиттер (+10 мкс - проверял стабильность)
// Serial.print (POT); Serial.print("\t");
// Serial.print (PAUSE); Serial.print("\t");
// Serial.print (FREE); Serial.print("\t");
// Serial.println (RND);
} // закрыли while
} // закрыли loop
(Аль Котоне, кот ещё тот, Cattus Sapiens)Усы и хвост - мои документы.
Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Re: Котуинко
Serial сам и ресурсы и время занимает.
Даже ежли не используется, но есть loop там проходит опрос.
Собственно для спецприменений в которых требуется высокоскоростной "лаподрыг" при АВРках предпочтителен ассемблер и специально под ту задачу выполненный МК периферии (отдельный "малолапый" МК).
А "жирному" МК оставляем вычисления и прочую "интеллектуальную" работу.
Единственно подогнать под алгоритм задачи программу под ассемблером дело таки достаточно долгое (в сравнении с тем же СИ(или иным ЯВУ)). Зато и результат гораздо удачнее может получиться. Плюс перебор возможных вариантов решения исходного алгоритма.
Я в случае адуинки для "высокоскоростных" протоколов микро LAN и "умных светиков" готовые библиотеки использую.
Остальное особо проблем не представляет и для типовой нанки с 16МГц штатного исполнения.
Как вариант LGT китайские - но там только "в рамках ардуино "референса"" - их даташиты я лишь бегло в компе просматривал, делать полную распечатку с проработкой пока смысла нет.

кыстати...
Поскольку Т0 в ардуино трогать нельзя - системный таймер (максимум второй машинный "тик" в 1 mS на нем делается)
У АВРки есть таймер Т1... У того таймера режим фазочстотнокорректного ШИМ (по OCR1A или по ICR1...
А в довесок аппаратно управляемые выводы OC1A/OC1B...
Вот и используйте это в качестве источника управляемого ШМИ сигнала.
Понятно, что также после такого использования будут ограничения (по analogWrite() на выводах D9 и D10 к примеру)...

Даже ежли не используется, но есть loop там проходит опрос.
Собственно для спецприменений в которых требуется высокоскоростной "лаподрыг" при АВРках предпочтителен ассемблер и специально под ту задачу выполненный МК периферии (отдельный "малолапый" МК).
А "жирному" МК оставляем вычисления и прочую "интеллектуальную" работу.
Единственно подогнать под алгоритм задачи программу под ассемблером дело таки достаточно долгое (в сравнении с тем же СИ(или иным ЯВУ)). Зато и результат гораздо удачнее может получиться. Плюс перебор возможных вариантов решения исходного алгоритма.
Я в случае адуинки для "высокоскоростных" протоколов микро LAN и "умных светиков" готовые библиотеки использую.
Остальное особо проблем не представляет и для типовой нанки с 16МГц штатного исполнения.
Как вариант LGT китайские - но там только "в рамках ардуино "референса"" - их даташиты я лишь бегло в компе просматривал, делать полную распечатку с проработкой пока смысла нет.
кыстати...
Поскольку Т0 в ардуино трогать нельзя - системный таймер (максимум второй машинный "тик" в 1 mS на нем делается)
У АВРки есть таймер Т1... У того таймера режим фазочстотнокорректного ШИМ (по OCR1A или по ICR1...
А в довесок аппаратно управляемые выводы OC1A/OC1B...
Вот и используйте это в качестве источника управляемого ШМИ сигнала.
Понятно, что также после такого использования будут ограничения (по analogWrite() на выводах D9 и D10 к примеру)...
Последний раз редактировалось BOB51 Чт дек 25, 2025 19:21:22, всего редактировалось 1 раз.
Re: Котуинко
У меняу как раз китайский (внутренние 32 МГц). Та же бегущая строка явно шустрее бежит.
Сейчас надо сбегать отправить авитошный заказ, а потом попробую соорудить цикл с микросом, чтобы крутился до заданного времени.
Если не получится, то сделаю макет с такой частотой, а потом буду допиливать.
Сейчас надо сбегать отправить авитошный заказ, а потом попробую соорудить цикл с микросом, чтобы крутился до заданного времени.
Если не получится, то сделаю макет с такой частотой, а потом буду допиливать.
(Аль Котоне, кот ещё тот, Cattus Sapiens)Усы и хвост - мои документы.
Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Re: Котуинко
За LGTгную начинку читатки вломки (хош в основном та же мега328) - обход "референса" там потребует заметно большего знания даташита, чем по отношению к "чистокорвной" АВР меге328.

Бегущая строка на любом МК одинаково бегать должна (при корректной программе).
Развертка жестко задается, а вот вопрос перезагрузки данных - дело творческое.

УПС...
А это случаем не попытка сделать дубль прожки для управления WS2812?
Так под них в адуринке аж две библиотеки готовые имеются:
Adafruit_NeoPixel и Adafruit_NeoMatrix - устанавливаем и пользуемся.

Бегущая строка на любом МК одинаково бегать должна (при корректной программе).
Развертка жестко задается, а вот вопрос перезагрузки данных - дело творческое.
УПС...
А это случаем не попытка сделать дубль прожки для управления WS2812?
Так под них в адуринке аж две библиотеки готовые имеются:
Adafruit_NeoPixel и Adafruit_NeoMatrix - устанавливаем и пользуемся.