Управление режимом выводов: различия между версиями

Материал из MIK32 микроконтроллер
Нет описания правки
Нет описания правки
 
Строка 1: Строка 1:
Для выводов портов МК 32 могут быть установлены режимы 0-3. С режимами 0 и 2 связаны различные функции периферий, режим 1 - режим порта ввода-вывода, режим 3 - аналоговый. При старте микроконтроллера большинство выводов устанавливаются в режим 0.
Для выводов портов МК 32 могут быть установлены режимы 0-3. С режимами 0 и 2 связаны различные функции периферий, режим 1 - режим порта ввода-вывода, режим 3 - аналоговый. При старте микроконтроллера большинство выводов устанавливаются в режим 0.
Режимы выводов можно посмотреть в таблице https://disk.yandex.ru/i/a7RCwt8V3FvAWA


Для установки режима вывода нужно записать в регистр PORT_0_CFG, PORT_1_CFG или PORT_2_CFG (в зависимости от порта вывода) соответствующее значение по смещению 2*N. Выводы в регистре нумеруются аналогично номеру в порту, начиная с 0-го бита, по два бита на вывод.
Для установки режима вывода нужно записать в регистр PORT_0_CFG, PORT_1_CFG или PORT_2_CFG (в зависимости от порта вывода) соответствующее значение по смещению 2*N. Выводы в регистре нумеруются аналогично номеру в порту, начиная с 0-го бита, по два бита на вывод.

Текущая версия от 19:25, 27 марта 2023

Для выводов портов МК 32 могут быть установлены режимы 0-3. С режимами 0 и 2 связаны различные функции периферий, режим 1 - режим порта ввода-вывода, режим 3 - аналоговый. При старте микроконтроллера большинство выводов устанавливаются в режим 0.

Для установки режима вывода нужно записать в регистр PORT_0_CFG, PORT_1_CFG или PORT_2_CFG (в зависимости от порта вывода) соответствующее значение по смещению 2*N. Выводы в регистре нумеруются аналогично номеру в порту, начиная с 0-го бита, по два бита на вывод.

#include <pad_config.h>
...
int main() {
  ...
  PAD_CONFIG->PORT_1_CFG = 1 << (PIN << 1); // Установка вывода PIN
  // порта 1 в режим GPIO (режим 1)
  ...
}