|
|
![]() ![]() |
|
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() ![]() |
![]() ![]() |
![]() |
![]()
INFERION, Выдумки. Если программист не знает, что происходит в камне то это проблемы программиста, а не языка программирования.
|
![]() |
![]() |
![]() |
![]() ![]() |
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8162 раз(а) в 2385 сообщениях
|
![]()
Tamagotchi,
|
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
|
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
![]()
Маловато здесь заблуждений.
INFERION, про курение листинга можно поспорить, но темные углы там действительно есть, да и не всегда есть возможность заставить компилятор собрать определенный участок кода так как тебе хочется. Про прерывания: после кода данного драйвера - я вполне согласен. Особенно сильно компилятор любит впиливать в начало кода подпрограммку копирования табличных данных из памяти в оперативку, хотя из памяти с ними вполне спокойно можно работать. Так она под тактовую кнопку. Цитата:
![]() Про контроллер: ATtiny45 есть в таком-же узком корпусе, но у нас цена его сравнима с полной ценой драйвера с фасттеча. Посмотрел про BODSE, вы правы, остается только включить Sleep в Idle, и понизить частоту. Поколупал код еще, получилось чуть оптимизировать некоторые моменты (выпиливанием библиотечных функций), и включил Sleep в светляке. Понизить битность ШИМ-а думаю в данном случае не получится, так что частота будет 4.7КГц. Про SDM по прерываниям WDT для данного случая это оптимально, но до этого думаю у меня не дойдет. Прошивки выложу в следующем сообщении, может еще что найду и исправлю, да и не тестированные они. |
|
![]() |
![]() |
![]() ![]() |
![]() ![]() |
|
![]() |
![]() Цитата:
#include <avr/pgmspace.h> const uint16_t bat_volt[5] PROGMEM = {...}; pgm_read_word(&bat_volt[i]); В основном так считают ассмеблерщики, не читавшие доку к компилятору ![]() [Исправлено: Tamagotchi, 24.02.2014 в 22:12] |
|
![]() |
![]() |
![]() |
![]() ![]() |
|
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8162 раз(а) в 2385 сообщениях
|
![]() Цитата:
[Исправлено: INFERION, 24.02.2014 в 22:57] |
|
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]()
Я это делал, когда ты еще в колыбельке лежал. для 8086 процессоров. Даже игры писал. Потом, когда компьютеры стали серьезней и языки пришлось применять посерьезней. Причем начинал на ПК Вектор-06Ц
[Исправлено: Tamagotchi, 24.02.2014 в 23:16] |
![]() |
![]() |
![]() |
![]() ![]() |
|
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
![]() Цитата:
Спорить можно бесконечно долго, но пусть каждый останется при своем мнении, и пользуется тем чем хочет. Я посмотрел что такое Си, и думаю при создании большого проекта я может и воспользуюсь (если проблем с ресурсами железа не будет), а мелкие программки буду ваять на асме, да и в Си я новичок.
__________________
Скажем нет пиратству! - Качаем только лицензионные диски. |
|
![]() |
![]() |
![]() |
![]() ![]() |
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8162 раз(а) в 2385 сообщениях
|
![]()
Tamagotchi, а, сорри. Было такое, помню. Только AVR явно не вписывается в категорию тяжеловесов с серьёзными программами, которые проще поднимать на ЯВУ. Меня интересуют попытки применительно к AVR, поскольку подобные камушки не имеют толкового Сишного компилятора (имхо), зато ассемблер для них почти сказка.
Цитата:
[Исправлено: INFERION, 25.02.2014 в 00:18] |
![]() |
![]() |
![]() |
![]() ![]() |
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
![]()
Ассемблер для PIC-ов сказка с их 32-мя инструкциями (хотя с работой с портами я толком и не разобрался и копировал кусок рабочего кода), а для новичка на АВР легче бейсик или если он знает - Си.
INFERION, я видел работу с портами на асме для STM8, и даже на Си с использованием библиотек код был громоздкий и ужастный в понимании, про STM32F4 я даже боюсь представить. Да еще и USB стек поднимать на асме (я уже таким занимался для AT90USB162 - исходников на Си было валом, но основной код был давно написан на асме, но я справился с задачей). Полезную информацию о Си и я не против узнать ![]() Выкладываю две новые версии прошивки. Не протестированные! LD_7135_v_2.6 - оптимизировал, добавил Idle в светляке. LD_7135_v_2.6(LF) - то-же только частоту понизил еще в 2 раза, правда частота ШИМ-а то-же понизилась в двое. |
![]() |
![]() |
![]() |
![]() ![]() |
![]() Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24
Сообщений: 5759
Сказал(а) спасибо: 340
Поблагодарили: 8162 раз(а) в 2385 сообщениях
|
![]()
[
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 07:23
Сообщений: 40173
Сказал(а) спасибо: 6604
Поблагодарили: 35775 раз(а) в 16530 сообщениях
|
![]()
посмотрел.
светляк, общее потребление/ непосредственно светодиод 26 - 1,92мА / 0,32мА 26LF - 2,32мА / 1,32мА видимо мультиметр не успевает отрабатывать. надо осциллографом глядеть чтоли.. а может успевает, просто стабы тоже успевать начали на более низкой частоте... но померил потребление одного драйвера с 26LF по режимам от мунлайта до максимума, 1-1-1.09-1.42-2.32мА светляк не отличается от младшего режима с шим. видимо не работает или не дает эффекта но вообще, насколько я помню, с прошивкой Тамагоччи у меня в мунлайте выходило около 3мА общее потребление, при 0.5-1 на диоде, но дело в том, что разные мультиметры использовались, там trueRMS был, а тут обычный, да и уровень светлдяков разный. будет время, разберу фонарь, проверю на одном мультиметре токи. [Исправлено: galex, 25.02.2014 в 10:47] |
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
|
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
![]() Цитата:
galex, светляк и так в шиме работает, только в последней прошивке надо будет уровень понизить. Токи при каком напряжении замеряли? Если на заряженном АКБ - эффект есть. Если низкочастотная будет нормально работать - буду допиливать ее, и может себе поставлю. |
|
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]()
[
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 07:23
Сообщений: 40173
Сказал(а) спасибо: 6604
Поблагодарили: 35775 раз(а) в 16530 сообщениях
|
![]()
я про то, что нет разницы в потреблении самого драйвера в светляке (с шим естественно) и со слабым режимом (который посредством ШИМ реализован).
если idle используется в светляке, но не используется в слабом (я не смотрел еще исходники, вы написали что только в светляке его прикрутили)- значит idle не работает или не дает эффекта. либо он рабоатет и в других режимах 3.85В выставил на БП перепроверил осциллографом (26LF), так и есть 2.3мА общее, 1.3мА диод выставил 4.2В - то же самое. |
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() |
![]()
[
![]() Bit 5 – SE: Sleep Enable The SE bit must be written to logic one to make the MCU enter the sleep mode when the SLEEP instruction is executed. To avoid the MCU entering the sleep mode unless it is the programmer’s purpose, it is recommended to write the Sleep Enable (SE) bit to one just before the execution of the SLEEP instruction and to clear it immediately after waking up. Хотя, если вдуматься - здесь обратная ситуация. А зачем его усыплять? Что я пропустил? [Исправлено: Tamagotchi, 25.02.2014 в 14:54] |
![]() |
![]() |
![]() |
![]() ![]() |
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
![]()
Tamagotchi, бит SE предназначен для защиты от случайного засыпания, а пытаемся усыпить для уменьшения потребления.
galex, а что такое слабый? Светляк переключается рампингом и стоит у меня по 3м кликам. Вечером еще код поколупаю, но уменьшение уже есть. |
![]() |
![]() |
![]() |
![]() ![]() |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 07:23
Сообщений: 40173
Сказал(а) спасибо: 6604
Поблагодарили: 35775 раз(а) в 16530 сообщениях
|
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
|
Участник форума по OpenID
Регистрация: 08.01.2014 Последняя активность: 21.02.2021 00:07
Сообщений: 493
Записей в дневнике: 3 Сказал(а) спасибо: 329
Поблагодарили: 151 раз(а) в 89 сообщениях
|
![]()
galex, Idle работает только в светляке.
Цитата:
Подкорректировал уровень ШИМ в низкочастотной версии. Проверяйте, только желательно проверить свечение светодиода в светляке во всем диапазоне напряжений. WDT отключать не стал, так как разница будет почти не заметна, но если есть желание проверить - могу вырубить. Если все нормально будет - более глобально переписываю с изменением таймингов (мне в SOS не нравилась пауза между пакетами, а памяти жалко, но сейчас можно будет исправить). |
|
![]() |
![]() |