// funkcja konfiguruj¹ca kontroler portu szeregowego void SrlConfig(void) { Configure_GPIO(GPIOD,3,AFPP_OUTPUT_2MHZ); Configure_GPIO(GPIOD,4,AFPP_OUTPUT_2MHZ); Configure_GPIO(GPIOD,5,AFPP_OUTPUT_2MHZ); // konfigurowanie pinow dla USART2 Configure_GPIO(GPIOD,6,PUD_INPUT); Configure_GPIO(GPIOD,7,AFPP_OUTPUT_2MHZ); AFIO->MAPR |= AFIO_MAPR_USART2_REMAP; // remapowanie pinów drugiego kontrolera USART NVIC_EnableIRQ( USART2_IRQn ); // w³¹czenie przerwania w kontrolerze NVIC... NVIC_SetPriority(USART2_IRQn, 10); // ...oraz zmiana jego priorytetu RCC->APB1ENR |= RCC_APB1ENR_USART2EN; // w³¹czanie zegara dla USART USART2->CR1 |= USART_CR1_UE; // uruchamianie kontrolera USART2->BRR |= SrlBRRegValue; // ustawianie wartoœci preskalera do baudrate SrlTXing = 0; }
/** * \brief Application entry point. * * \return Unused (ANSI-C compatibility). */ int main(void) { /* Initialize clock of the system */ SystemInit(); /* Initialize GPIO of the system */ Configure_GPIO(); /* Enter main program loop */ while (1) { RTC_Flag = 0; /* Indicator Led ON */ PIOA->PIO_CODR = PIO_CODR_P6; // Wait until SW0 button is pressed while(!RTC_Flag); /* Indicator Led OFF */ PIOA->PIO_SODR = PIO_SODR_P6; // Enter Wait mode Wait_mode(); } }