bre07a 0 22 декабря, 2020 Опубликовано 22 декабря, 2020 · Жалоба Осталась одна глава по курсовой. Требуется применить функцию RBIT, которая изменяет на обратный порядок бит в 32-разрядном слове. Далее рекомендуется включить в текст программы ассемблерную вставку с необходимой инструкцией. Теперь применяя RBIT, нужно заставить перемигиваться светодиоды. Номера портов на схеме. Помогите пожалуйста с кодом для тупых) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Priest_89 4 24 декабря, 2020 Опубликовано 24 декабря, 2020 · Жалоба Ну для начала убрать инициализацию порта из бесконечного цикла ( который while(1){} ) и разобраться с этой самой инициализацией, потому что в функции PortInit() инициализируется порт A, потом пины устанавливаются в единицу на порту C, а на схеме - уже порт B. Как притянуть инструкцию RBIT к перемигиванию - взять такое 32-битное число, чтобы единицы в младших 4 битах стояли в одних разрядах, а после "переворота" - на других. Например 0x50000005. И поместить в бесконечный цикл ассемблерную вставку, применяющую инструкцию RBIT к этому самому числу, а после нее - функцию PORT_SetBits, у которой вторым аргументом будет то самое число. И затем - задержку, чтобы светодиоды не моргали слишком быстро. P.S. До RBIT еще нужно погасить уже горящие светодиоды функцией PORT_ResetBits. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться