Так и выбирайте соответственно наиболее удобный набор кристаллов. Зачем лезть в навороченное раньше времени? Если возможности имеющейся базы до конца не использованы?
И ты внезапно обнаружишь, что описание регистров периферии как структур является практически тотальным. И происходит это в связи доменной архитектурой периферии в пространстве памяти. То есть все таймеры, например, отличаются только тем, что у них разные начальные адреса. А все регистры внутри домена смещены идентично. Даже если конкретного регистра у таймера нет, этот адрес остается пустым. Поэтому структура - идеальный способ описания регистров периферии. И даташит тут вообще не причем. Тем более, что имена полей структур более-менее соответствуют названиям регистров и самой периферии в даташитах. А если что то не нравится, всегда можно поправить в хедерах.
Речь идет о мелкой 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
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения