Вы несете чушь.В даташитах он указан под юникод чтобы не парить мозг с разными синтаксисами... В каждой среде разработке присутствует таблица перевода асм команд в си или бейсик как в баскоме, да и асм библеотеки никто не отменял. каково черта вы все пхаете в флеш память контролерра она предназначина только для выполнения основных функций.
И часы можно активировать в 8 меге одной командой, а не городить ваш гавнокод![]()
![]()
1. Вы не знаете что такое Юникод или Ассемблер, я вообще не представляю как их можно спутать но у вас получилось.
2. Переводить асм команды в команды на ЯВУ (Языках Высокого Уровня если кто не в курсе) обычно не надо.
3. Обычно наоборот переводят команды с ЯВУ на ассемблер, в частности именно так выглядит один из этапов компиляции.
4. Любой исполняемый код так или иначе должен быть записан в флеш-память контроллера (некоторые, например ARM умеют и из ОЗЦ выполнять но основной код все равно в flash). Причем независимо от того где он, в main или библиотеках.
5. Активировать часы одной командой НЕЛЬЗЯ НИКАК потому что надо задать предделитель таймера и разрешить прерывание от него, это минимум 4 команды.
6. (уже к более позднему посту) А если захочется чтобы контроллер не только считал по 1Гц а например динамическая индикация, опрос датчиков, эмуляция USB (тут часовым не обойтись НИКАК) и в то же время генерировать тот самый меандр.
7. Городить свой говнокод гораздо полезнее чем пользоваться чужим без малейшего понимания принципов.
8. Если выучили начали учить BASIC вместо нормального языка и думаете что контроллер выполняет каждую его инструкцию за 1 такт даже если эта инструкция - процедура, вы глубоко заблуждаетесь.
9. Если и после предыдущего пункта не возникло желания хоть немного разобраться поясню: каждая команда ЯВУ транслируется в некоторое число команд ассемблера, которые потом компилируются в машинный код (тот самый магический .hex файл структуру которого вы наверняка не осилили ибо несколько килобайт). Причем компилируется ВЕСЬ код включая процедуры в самых закоулках системных библиотек и даже если они ни разу не используются.
10. Начинать насилие изучение контроллера сразу с ЯВУ - плохая идея чреватая в дальнейшем (да и сразу, но сразу это не так заметно) неуловимыми ошибками с необновляющимися переменными (привет volatile) ошибками простейшей математики (привет регистр SREG в прерываниях), тормозами на ровном месте (привет делению и переменным типа float а лучше long double) и прочему говнокоду.
11.
Ну-ну. В серии ATtiny есть несколько контроллеров с ФАПЧ на 64 МГц->16.5 МГц. О стабильности тактового RC(!)-генератора говорит то что на нем запускают vusb а ведь известно что кварц гораздо стабильнее.Кстати даташиты читаем и не тормозим для меги 8 рекомендуются кварцы определенных кратных чисел а тоесть 1,4,8,12... На 16 уже указано что работа не стабильная будет ибо осцилятор расчитан на определеный такт счета.
12.
Для такой простой задачи хитрые возможности отдельных компиляторов не нужны, достаточно стандартных. А стандартные возможности они стандартны и одинаковы для разных реализаций. Про системные библиотеки и "расширения" разговор отдельный.Хочешь знать как на си сформировать часы сначала скажи какой компилятор яж тебе не экстрасенс....
13.
Что это за шаманская конструкция? Внутренняя Ванга мне подсказывает что кроме ошибки от этого ждать нечего. В лучшем случае оно будет работать только для одного компилятора, камня, тактовой частоты и т.п.Config clock=Soft
14.
Так 16МГц это более чем нормально, близко к максимальной частоте контроллера. Если понадобится снижать потребление - sleep а вот если потребуется поднять скорость на часовом - хана.Твоюж нафиг что у тебя нет 8 центов на нормальный кварц
Итог: Думать потом говорить а не наоборот. Разобраться-таки в основах функционирования контроллеров. Забыть про стандартные библиотеки и ЯВУ до появления задач на хитрые интерфейсы.
