Так и выбирайте соответственно наиболее удобный набор кристаллов. Зачем лезть в навороченное раньше времени? Если возможности имеющейся базы до конца не использованы?
И ты внезапно обнаружишь, что описание регистров периферии как структур является практически тотальным. И происходит это в связи доменной архитектурой периферии в пространстве памяти. То есть все таймеры, например, отличаются только тем, что у них разные начальные адреса. А все регистры внутри домена смещены идентично. Даже если конкретного регистра у таймера нет, этот адрес остается пустым. Поэтому структура - идеальный способ описания регистров периферии. И даташит тут вообще не причем. Тем более, что имена полей структур более-менее соответствуют названиям регистров и самой периферии в даташитах. А если что то не нравится, всегда можно поправить в хедерах.
Речь идет о мелкой 8 битной блохе за 1 дол., для которой нужно за час написать прошивку, залить и закинуть в какю нить железку и на МК 0-серии так и было.
0-серия точно такая же, те же порты, такой же двухрежимный TCA и CLKCTRL с делением на 6 по умолчанию. В 1 серию периферии добавили чуть и все.
Т. Е. В документации идёт "подгонка под СИ(ЯВУ). Да и 1 и 0 серии это уже не атмел, а "микрочип стиль", причём с учётом всего ранее используемого. И кой чего от ПИК24 возможно... Насчёт своих заголовочников, файлов описания ресурсов - так их (как и макросы в ассемблере) никто не отменял.
Последний раз редактировалось BOB51 Пн дек 30, 2024 13:44:32, всего редактировалось 1 раз.
Речь идет о мелкой 8 битной блохе за 1 дол., для которой нужно за час написать прошивку, залить и закинуть в какю нить железку и на МК 0-серии так и было. Но вот в новой 1-серии нужно прочитать мануал на 500+ страниц дабы сделать тоже самое. Зачем? Производитель тот же, среда разработки та же, железо и архитектура прежние... Но нет... надо все переделать.
С какого перепуга? Производитель сменился. Сменилась группа технической поддержки. Это хорошо заметно по даташитам. Только старые тулчейны от Атмела никто не переделывал, но и не поддерживает. И, что характерно, тоже самое произошло и с PIC-ами. Потому что чипмейкер решает свои проблемы с продвижением товара на рынке. Опираться на вкусовщину вменяемый бизнес не будет. Любая нишевость в тулчейнах приводит к потерям клиентов.
Чтобы не вызывать баттхерта у тех, кто приходит к этим чипам со стороны. Кстати, да, у тебя ИДЕ не выдает подсказки в виде списка полей структур? Может все таки ты чего то делаешь не так?
Разделение весьма здравое - Общая документация на серию и уточняющая на каждый конкретный кристалл. Плюс отдельно прошивка и обнаруженные ошибки. Другое дело - доступность на сегодня по известным причинам мягко выражаясь........ Нецензурная... Насчёт IDE... Я пока ещё старыми версиями пользуюсь. Остальное легче на адуринку свалить.
Чтобы не вызывать баттхерта у тех, кто приходит к этим чипам со стороны. Кстати, да, у тебя ИДЕ не выдает подсказки в виде списка полей структур? Может все таки ты чего то делаешь не так?
Угу и вызвать "баттхерт" у тех кто не состороны)) Железная Л-огика))
IDE и всё т.п. в первом посте первого обзаца. PlatformIO. Подсказки то выделяет, но как мне понять что за конфигурацию 3-х битов WGMODE[0:2] отвечает групповая битовая маска TCA_SINGLE_WGMODE_NORMAL_gc; В даташите написано что для режима "Normal" эти биты должны ровняться нулю. Маска ведь не называется CTRLB_WGMODE0_0_WGMODE1_0_WGMODE2_0 Тоесть я по подсказке и встречающемуся WGMODE_NORMAL в названии маски должем сам догадаться?? Но не это главное, можно почитать, попробовать и подстроится, но весь вопрос поста в том что нахрена так было делать и можно ли по прежнему.
Из всей писанины тут суть стала понятна: нахрена? - а ШО б было соувремённо; можно ли прежнему - можно, написав свой макрос, тулчайн, IDE и микросхему самому спаять... И вообще лучше пойти нахрен старому пердуну и не мешать соувремённым технологиям.
Подсказки то выделяет, но как мне понять что за конфигурацию 3-х битов WGMODE[0:2] отвечает групповая битовая маска TCA_SINGLE_WGMODE_NORMAL_gc; В даташите написано что для режима "Normal" эти биты должны ровняться нулю.
И что мешает прямо так и написать =0;? Использовать дефайны констант совершенно не обязательно. И таки да, это не маска.
...И вообще лучше пойти нахрен старому пердуну и не мешать соувремённым технологиям.
...
Вот только не надо зря фырчать! Никто ж не заставляет в режиме форс-мажора новинки осваивать. Другое дело не всегда приятно слушать "а чего Вы еще не на АРМе(STM32 или еще какой новинке)??".... Просто при необходимости готовим заранее базу. Как и в старо-добрые время. Тем более времени в достатке. По мне так зачем за суперновинками раньше времени гнаться? Да и Х/З чего в ближайшие годы актуальным будет. Возможно и китайский язык придется осваивать. А в "кащеевом сундуке" радиолюбителя и так добра лет на ... хватит.
Тут надо было быстренько проверить одну задумку с прерыванием по внешнему событию (спадающий фронт на выводе МК). За 10 мин. накидал код для ATtiny85 и всё что мне нужно было проверил в железе.
Инициализация таймера для генерации прерывания по спадающему фронту на выводе PB0 выглядит так:
И тут мне вспомнилось как у меня бомбило от Микрочиповских говномасок в битах конфигурации для новых серий AVR. Думаю, валяется ж где-то недопаяная плата с Attiny212. Посмотрю для интересу как там сиё наваять получитсо)))
Угу, 40 минут курения даташита и гугления родили ЭТО...
Инициализации таймера для генерации прерывания по спадающему фронту на пине PA6:
Код:
TCD0.CTRLB = TCD_WGMODE_ONERAMP_gc; TCD0.INTCTRL = TCD_TRIGA_bm;//разрешить прерывания по событию TCD0.EVCTRLA= TCD_EDGE_FALL_LOW_gc | TCD_ACTION_bm | TCD_TRIGEI_bm;//сработка про спадающему фронту, включение захвата по каналу А и включение входных событий по каналу А TCD0.CTRLA = TCD_CLKSEL_SYSCLK_gc | TCD_CNTPRES_DIV4_gc | TCD_ENABLE_bm;//источник тактирования, делитель и включение таймера
EVSYS.ASYNCCH0 = EVSYS_ASYNCCH0_PORTA_PIN6_gc;//сопоставление канала событий ch0 выводу PA6 EVSYS.ASYNCUSER6 = EVSYS_ASYNCUSER6_ASYNCCH0_gc;//сопоставление таймера TCD0 (ASYNCUSER6) каналу событий ch0
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения