|
|||||||
Куски кода, которые могут пригодится при работе с чипом Миландр
Время создания: 16.06.2014 16:20
Текстовые метки: код, полезный, Миландр, Milandr
Раздел: Linux, компиляция, C/C++ - ARM - Milandr
Запись: xintrea/mytetra_db_harpokrat/master/base/1402921238krxva71xai/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Функция инициализации порта: void Port_init(void) { #if defined MILANDR MDR_RST_CLK->PER_CLOCK |= (1UL << 21); // разрешение тактирования порта A MDR_PORTA->OE = ((1 << 0) | (1 << 1)); //направление передачи данных = Выход MDR_PORTA->ANALOG = ((1 << 0) | (1 << 1)); //режим работы контроллера = MDR_PORTA->FUNC = ((0 << 0*2) | (0 << 1*2)); //режим работы вывода порта = MDR_PORTA->PULL = ((0 << 0) | (0 << 1)); //запрещение подтяжки к GND //MDR_PORTB->PULL = ((0 << (1 << 16))); //запрещение подтяжки к VCC MDR_PORTA->PD = ((0 << 0) | (0 << 1)); //режим работы выхода = MDR_PORTA->PWR = ((3 << 0*2) | (3 << 1*2)); //скорость фронта вывода = максимальная #else // Выставляем тактирование в APB2 RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // Конфигурируем CRL регистры. GPIOA->CRL &= ~GPIO_CRL_CNF1; // Сбрасываем биты CNF для бита 1. Режим 00 - Push-Pull GPIOA->CRL |= GPIO_CRL_MODE1_0; // Выставляем бит MODE0 для 1 пина. Режим MODE01 = Max Speed 10MHz GPIOA->CRL &= ~GPIO_CRL_CNF0; // Сбрасываем биты CNF для бита 0. Режим 00 - Push-Pull GPIOA->CRL |= GPIO_CRL_MODE0_0; // Выставляем бит MODE0 для 0 пина. Режим MODE01 = Max Speed 10MHz #endif } |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|