void Matrix_kbd_init (void){ /////////////////////////////////// ///////Port configuration////////// RCC->AHBENR |= RCC_AHBENR_GPIOCEN; //enable gpioC /*?*/ RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; /*!< System Configuration SYSCFG clock enable */ PIN_CONFIGURATION(IN_1); PIN_CONFIGURATION(IN_2); PIN_CONFIGURATION(IN_3); PIN_CONFIGURATION(IN_4); PIN_CONFIGURATION(IN_5); PIN_CONFIGURATION(IN_6); PIN_CONFIGURATION(OUT_1); PIN_CONFIGURATION(OUT_2); ///////Port configuration////////// /////////////////////////////////// }
inline void gpio_init(void) { RCC_AHB1PeriphClockCmd(RCC_AHB1ENR_GPIOAEN | RCC_AHB1ENR_GPIOCEN | RCC_AHB1ENR_GPIOEEN | RCC_AHB1ENR_GPIODEN, ENABLE); // светодиод PIN_CONFIGURATION(PIN_LED); // кнопка PIN_CONFIGURATION(PIN_BUTTON); // ЖКИ индикатор PIN_CONFIGURATION(LCD_NOKIA_1100_CS); PIN_CONFIGURATION(LCD_NOKIA_1100_RST); PIN_CONFIGURATION(LCD_NOKIA_1100_SCLK); PIN_CONFIGURATION(LCD_NOKIA_1100_SDA); }
//----------------------------------------------------------------------------- void mcu_gpio_init() { //разрешаем тактирование таймеров RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //ШИМ для вентилятора фена GPIO_PinRemapConfig(GPIO_FullRemap_TIM1, ENABLE); //исп. альтернативные выходы таймера 1 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //секундный таймер RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //обработка энкодера RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //генератор для биппера //разрешаем тактирование портов RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //настрока выводов МК PIN_CONFIGURATION(SOLDER_HEATER); //влючение/отключение паяльника PIN_CONFIGURATION(AIR_HEATER); //влючение/отключение фена PIN_CONFIGURATION(SOLDER_TEMP_ADC); //уст. температуры паяльника PIN_CONFIGURATION(AIRFEN_TEMP_ADC); //уст. температуры фена PIN_CONFIGURATION(BUTTONS_ADC); //кнопки PIN_CONFIGURATION(SOLDER_LEDBTN); //светодиод включения паяльника PIN_CONFIGURATION(AIRFEN_LEDBTN); //светодиод включения фена PIN_CONFIGURATION(AIR_FLOW_PWM); //выход TIM1 CH2N - ШИМ для фена PIN_CONFIGURATION(AIR_HEATER); //вкл./выкл. нагревателя фена PIN_CONFIGURATION(SOLDER_HEATER); //вкл./выкл. нагревателя паяльника PIN_CONFIGURATION(RELAY_POWER); //реле питания станции PIN_CONFIGURATION(RELAY_FEN); //реле подачи 220в на фен PIN_CONFIGURATION(GERKON_AIR); PIN_CONFIGURATION(GERKON_SOLDER); PIN_CONFIGURATION(ENCODER_A); PIN_CONFIGURATION(ENCODER_B); PIN_CONFIGURATION(BUZZER); PIN_CONFIGURATION(USER_LED_green); #ifdef USER_LED_blue PIN_CONFIGURATION(USER_LED_blue); #endif #ifdef STM32F100_DISCOVERY_BOARD PIN_CONFIGURATION(USER_BTN); #endif }