Пульт для симуляторов

V_Alex

Открываете даташит на контроллер, например - Attiny13a, находите раздел Register Summary. Там есть таблица с названиями регистров, их привязка к адресам и разбивка по битам с указанием имени каждого бита.
Соde Vision, Си или Assembler используют именно эти названия.

ADF
Shinshilla:

Как понять такие заклинания в CodeVisionAVR?

Качаем ПДФ-ку на контроллер.

Распечатываем оттуда две с половиной вещи:

  1. Список регистров и карту памяти
  2. Список ассэмблерных команд

Потом все это выкидываем в мусорку, берем arduino nano и делаём всё на ней 😃

ps:
вообще, это логические операции и побитовые сдвиги с использованием содержимого регистров. Это иногда имеет смысл, если надо сделать быстрый как понос код, но обсуждаемая задача не требует от контроллера максимального быстродействия. Можно все в человекопонятных переменных решать, даже с плавающей точкой.

msv

Как понять такие заклинания в CodeVisionAVR?

Это не особенности CVR, обычный C.
ADCSRA|=(1<<ADIF)
В регистре ADCSRA (по сути, это обычная переменная с фиксированным адресом) устанавливается бит с порядковым номером ADIF. Остальные биты не меняются.
CLKPR=(0<<CLKPCE) | (1<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
В регистре CLKPR устанавливается бит CLKPS3, остальные сбрасываются.
Замечу, что вычисление значения делает прекомпилятор и в итоговой программе будет уже готовая константа.
Такая форма записи нужна исключительно для удобства программиста, более наглядна, чем просто число.

Dhole

Берём ардуину-нано, впихиваем в неё вот это, подтыкаем к компу и радуемся.

Цена вопроса триста рублёв.

1 month later
VVishen

Вот еще вариант для любителей STM32: хабр.
За пол часа напильником выпиливается анализ PPM и запускается ADC на 4 канала. В системе контроллер определяется как джойстик. Все работает.

2 months later
Shinshilla

Ардуины я купил для других целей. А Тину-13 хочу победить. Столкнулся с такой неприятностью: при входном напряжении меньше примерно 1/3 напряжения питания АЦП выдаёт нули во всех разрядах, потом работает “по теории”. Проверил три экземпляра. Может ли кто-нибудь сталкивался с похожими задачами?

1 month later