Simon NOWAK
/
RegistreSerial
Project to use Serial with registers
main.cpp@0:25823c5e440a, 2017-04-05 (annotated)
- 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?
User | Revision | Line number | New 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 | } |