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

Материал из me-robotics wiki
(Новая страница: «Для выводов портов МК 32 могут быть установлены режимы 0-3. С режимами 0 и 2 связаны различны...»)
 
 
(не показана 1 промежуточная версия этого же участника)
Строка 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-го бита, по два бита на вывод.
Строка 7: Строка 9:
 
int main() {
 
int main() {
 
   ...
 
   ...
   PAD_CONFIG->PORT_1_CFG = 1 << (3 << 1); //Установка режима 01 (GPIO) вывода 13
+
   PAD_CONFIG->PORT_1_CFG = 1 << (PIN << 1); // Установка вывода PIN
 +
  // порта 1 в режим GPIO (режим 1)
 
   ...
 
   ...
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

Текущая версия на 15:13, 5 апреля 2022

Для выводов портов МК 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-го бита, по два бита на вывод.

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