// Loesung zu Termin 5 // Aufgabe 1 // Namen: ___________; ____________ // Matr.: ___________; ____________ // vom: ___________ #include #define PA12 1u << 12 #define PA13 1u << 13 int main(void) { PIOA->PIO_PDR = PA12 | PA13; PIOA->PIO_ABSR &= ~(PA12 | PA13); PMC->PMC_PCER0 = 1u << ID_USART1; USART1->US_CR = US_CR_RXDIS | US_CR_TXDIS | US_CR_RSTRX | US_CR_RSTTX; // Receiver and transmitter resetted and disabled USART1->US_PTCR = US_PTCR_RXTDIS | US_PTCR_TXTDIS; // Disables the PDC receiver & transmitter channel requests. (DMA) USART1->US_MR = US_MR_USART_MODE_NORMAL | // Normal mode US_MR_USCLKS_MCK | // Master Clock is selected US_MR_CHRL_8_BIT | // Character length is 8 bits US_MR_PAR_ODD | // Odd parity US_MR_NBSTOP_2_BIT | // 2 stop bit US_MR_CHMODE_NORMAL; // Normal channel mode /* int version (about two decimal points precision) */ uint32_t cd = SystemCoreClock * 10 / 16 * 10 / 9600; uint32_t cd_int = cd / 100; uint32_t cd_frac = (cd % 100 * 8 + 50) / 100; USART1->US_BRGR = cd_frac & US_BRGR_FP_Msk << US_BRGR_FP_Pos | cd_int & US_BRGR_CD_Msk << US_BRGR_CD_Pos; USART1->US_CR = US_CR_RXEN | US_CR_TXEN; // Receiver and transmitter enabled USART1->US_PTCR = US_PTCR_RXTEN | US_PTCR_TXTEN; // Enable the PDC receiver & transmitter channel requests. (DMA) return 0; }