Перейти к содержанию
    

Прошу помочь с кодом на C для микроконтролера к1986ве92qi

Осталась одна глава по курсовой. Требуется применить функцию RBIT, которая изменяет на обратный порядок бит в 32-разрядном слове. Далее рекомендуется включить в текст программы ассемблерную вставку с необходимой инструкцией. Теперь применяя RBIT, нужно заставить перемигиваться светодиоды. Номера портов на схеме. Помогите пожалуйста с кодом для тупых)

11.PNG

схема.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну для начала убрать инициализацию порта из бесконечного цикла ( который while(1){} ) и разобраться с этой самой инициализацией, потому что в функции PortInit() инициализируется порт A, потом пины устанавливаются в единицу на порту C, а на схеме - уже порт B. Как притянуть инструкцию RBIT к перемигиванию - взять такое 32-битное число, чтобы единицы в младших 4 битах стояли в одних разрядах, а после "переворота" - на других. Например 0x50000005. И поместить в бесконечный цикл ассемблерную вставку, применяющую инструкцию RBIT к этому самому числу, а после нее - функцию PORT_SetBits, у которой вторым аргументом будет то самое число. И затем - задержку, чтобы светодиоды не моргали слишком быстро.

P.S. До RBIT еще нужно погасить уже горящие светодиоды функцией PORT_ResetBits.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...