Search
#include "stm32f4xx.h" // nastaveni bitu registru #define setBit(reg, bit) ((reg) |= (1<SR,7)) // nulovani bitu registru #define clrBit(reg, bit) ((reg) &= ~(1<<bit)) // inverze bitu #define tglBit(reg, bit) ((reg) ^= (1<<bit)) // cteni bitu #define readBit(reg, bit) ((reg) & (1<<bit)) void sendChar (int ch) { while (!readBit(USART2->SR,7)); USART2->DR = ch; } /* * Inicializace serioveho rozhrani USART2 * USART2 je pripojeny na sbernici APB1 */ void serial2Init(void){ // USART2 je pripojeny k USB setBit(RCC->APB1ENR, 17); // Povoleni hodin na UART2 setBit(USART2->CR1, 13); // Povoleni rozhrani USART2 setBit(USART2->CR1, 2); // Povoleni prijmu setBit(USART2->CR1, 3); // Povoleni odesilani USART2->BRR = ?; // Nastaveni rychlosti na ? setBit(RCC->AHB1ENR, 0); // nastaveni hodin portu A setBit(GPIOA->MODER, 5); // Alternativni funkce pro PA.2 setBit(GPIOA->MODER, 7); // Alternativni funkce pro PA.3 GPIOA->AFR[0] = ?;// Nastaveni alternativni funkce pro USART2 } int main(void) { int i; // inicializace seriove linky serial2Init(); while (1) { for(i=0;i<500000;i++); sendChar('x'); } }