Project to use Serial with registers

Dependencies:   mbed

Committer:
SimonNOWAK
Date:
Wed Apr 05 09:00:25 2017 +0000
Revision:
0:25823c5e440a
Child:
1:2b6896966307
Project to use Serial with registers

Who changed what in which revision?

UserRevisionLine numberNew contents of line
SimonNOWAK 0:25823c5e440a 1 #include "mbed.h"
SimonNOWAK 0:25823c5e440a 2
SimonNOWAK 0:25823c5e440a 3 void usartSetup (void) {
SimonNOWAK 0:25823c5e440a 4 RCC->IOPENR |= RCC_IOPENR_IOPAEN;
SimonNOWAK 0:25823c5e440a 5 GPIOA->ODR |= GPIO_ODR_OD9;
SimonNOWAK 0:25823c5e440a 6 RCC->APB2ENR |= RCC_APB2ENR_USART1EN; // enable clock for USART1
SimonNOWAK 0:25823c5e440a 7 USART1->BRR = 160000 / 96; // set baudrate
SimonNOWAK 0:25823c5e440a 8 USART1->CR1 |= (USART_CR1_RE | USART_CR1_TE); // RX, TX enable
SimonNOWAK 0:25823c5e440a 9 USART1->CR1 |= USART_CR1_UE; // USART enable
SimonNOWAK 0:25823c5e440a 10 }
SimonNOWAK 0:25823c5e440a 11
SimonNOWAK 0:25823c5e440a 12 void SendChar(){
SimonNOWAK 0:25823c5e440a 13 while (!(USART1->ISR & (USART1->ISR | USART_ISR_TXE)));
SimonNOWAK 0:25823c5e440a 14 char stringtosend[4];
SimonNOWAK 0:25823c5e440a 15 stringtosend[0] = 'T';
SimonNOWAK 0:25823c5e440a 16 stringtosend[1] = 'e';
SimonNOWAK 0:25823c5e440a 17 stringtosend[2] = 'x';
SimonNOWAK 0:25823c5e440a 18 stringtosend[3] = 't';
SimonNOWAK 0:25823c5e440a 19 for(int send = 0; send < 4; send++){
SimonNOWAK 0:25823c5e440a 20 USART1->TDR = stringtosend[send];
SimonNOWAK 0:25823c5e440a 21 }
SimonNOWAK 0:25823c5e440a 22 }
SimonNOWAK 0:25823c5e440a 23
SimonNOWAK 0:25823c5e440a 24 int main() {
SimonNOWAK 0:25823c5e440a 25 usartSetup();
SimonNOWAK 0:25823c5e440a 26 SendChar();
SimonNOWAK 0:25823c5e440a 27 }