![](/media/cache/group/Hydro.png.50x50_q85.png)
version 1.0
Dependencies: CMSIS_DSP_401 GPS MPU9150_DMP PID QuaternionMath Servo mbed
Fork of SolarOnFoils_MainModule_20150518 by
uart.cpp@2:f6d058931b17, 2015-08-11 (annotated)
- Committer:
- Dannis_mbed
- Date:
- Tue Aug 11 08:38:55 2015 +0000
- Revision:
- 2:f6d058931b17
- Parent:
- 0:81b21910454e
Test version mainmodule
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Dannis_mbed | 0:81b21910454e | 1 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 2 | * Module : UART |
Dannis_mbed | 0:81b21910454e | 3 | * Copyright : 2008 - H. Arends |
Dannis_mbed | 0:81b21910454e | 4 | * Description : STK525 Driver |
Dannis_mbed | 0:81b21910454e | 5 | ****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 6 | Change History: |
Dannis_mbed | 0:81b21910454e | 7 | |
Dannis_mbed | 0:81b21910454e | 8 | Version 0.2 - November 2011 |
Dannis_mbed | 0:81b21910454e | 9 | > Port to mbed |
Dannis_mbed | 0:81b21910454e | 10 | |
Dannis_mbed | 0:81b21910454e | 11 | Version 0.1 - March 2008 |
Dannis_mbed | 0:81b21910454e | 12 | > Initial revision |
Dannis_mbed | 0:81b21910454e | 13 | |
Dannis_mbed | 0:81b21910454e | 14 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 15 | |
Dannis_mbed | 0:81b21910454e | 16 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 17 | Include files |
Dannis_mbed | 0:81b21910454e | 18 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 19 | #include "mbed.h" |
Dannis_mbed | 0:81b21910454e | 20 | |
Dannis_mbed | 0:81b21910454e | 21 | #include "uart.h" |
Dannis_mbed | 0:81b21910454e | 22 | |
Dannis_mbed | 0:81b21910454e | 23 | |
Dannis_mbed | 0:81b21910454e | 24 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 25 | Global variables |
Dannis_mbed | 0:81b21910454e | 26 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 27 | Serial pc(USBTX, USBRX); // Seri� verbinding met PC terminal |
Dannis_mbed | 0:81b21910454e | 28 | |
Dannis_mbed | 0:81b21910454e | 29 | |
Dannis_mbed | 0:81b21910454e | 30 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 31 | UART_ Function implementation |
Dannis_mbed | 0:81b21910454e | 32 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 33 | void UART_vInitIO (void) |
Dannis_mbed | 0:81b21910454e | 34 | { |
Dannis_mbed | 0:81b21910454e | 35 | // Initialise UART |
Dannis_mbed | 0:81b21910454e | 36 | pc.baud(BAUDRATE); // Baudrate |
Dannis_mbed | 0:81b21910454e | 37 | pc.format(8, Serial::None, 1); // UART Frame format |
Dannis_mbed | 0:81b21910454e | 38 | } |
Dannis_mbed | 0:81b21910454e | 39 | |
Dannis_mbed | 0:81b21910454e | 40 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 41 | |
Dannis_mbed | 0:81b21910454e | 42 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 43 | void UART_vPutStr (char *p) |
Dannis_mbed | 0:81b21910454e | 44 | { |
Dannis_mbed | 0:81b21910454e | 45 | while(*p) |
Dannis_mbed | 0:81b21910454e | 46 | { |
Dannis_mbed | 0:81b21910454e | 47 | if(*p == LF) {UART_iPutCh(CR);} |
Dannis_mbed | 0:81b21910454e | 48 | UART_iPutCh(*p++); |
Dannis_mbed | 0:81b21910454e | 49 | } |
Dannis_mbed | 0:81b21910454e | 50 | } |
Dannis_mbed | 0:81b21910454e | 51 | |
Dannis_mbed | 0:81b21910454e | 52 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 53 | |
Dannis_mbed | 0:81b21910454e | 54 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 55 | void UART_vGetStr (unsigned short l, char *p) |
Dannis_mbed | 0:81b21910454e | 56 | { |
Dannis_mbed | 0:81b21910454e | 57 | signed short t = 0; |
Dannis_mbed | 0:81b21910454e | 58 | |
Dannis_mbed | 0:81b21910454e | 59 | while ((p[t] = UART_ucGetCh ()) != CR) |
Dannis_mbed | 0:81b21910454e | 60 | { |
Dannis_mbed | 0:81b21910454e | 61 | t++; |
Dannis_mbed | 0:81b21910454e | 62 | } |
Dannis_mbed | 0:81b21910454e | 63 | p[t] = '\0'; |
Dannis_mbed | 0:81b21910454e | 64 | } |
Dannis_mbed | 0:81b21910454e | 65 | |
Dannis_mbed | 0:81b21910454e | 66 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 67 | |
Dannis_mbed | 0:81b21910454e | 68 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 69 | int UART_iPutCh (int c) |
Dannis_mbed | 0:81b21910454e | 70 | { |
Dannis_mbed | 0:81b21910454e | 71 | return pc.putc(c); |
Dannis_mbed | 0:81b21910454e | 72 | } |
Dannis_mbed | 0:81b21910454e | 73 | |
Dannis_mbed | 0:81b21910454e | 74 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 75 | |
Dannis_mbed | 0:81b21910454e | 76 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 77 | unsigned char UART_ucGetCh (void) |
Dannis_mbed | 0:81b21910454e | 78 | { |
Dannis_mbed | 0:81b21910454e | 79 | // wait for data received by the UART |
Dannis_mbed | 0:81b21910454e | 80 | // while ((UCSR1A & _BV(RXC1)) == 0) {;} |
Dannis_mbed | 0:81b21910454e | 81 | //return UDR1; |
Dannis_mbed | 0:81b21910454e | 82 | //return OS_iPutCh(UDR); |
Dannis_mbed | 0:81b21910454e | 83 | return pc.getc(); |
Dannis_mbed | 0:81b21910454e | 84 | } |
Dannis_mbed | 0:81b21910454e | 85 | |
Dannis_mbed | 0:81b21910454e | 86 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 87 | |
Dannis_mbed | 0:81b21910454e | 88 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 89 | void UART_vPutStr_P (char *p) |
Dannis_mbed | 0:81b21910454e | 90 | { |
Dannis_mbed | 0:81b21910454e | 91 | /*while(pgm_read_byte(p)) |
Dannis_mbed | 0:81b21910454e | 92 | { |
Dannis_mbed | 0:81b21910454e | 93 | if(pgm_read_byte(p) == LF) {UART_iPutCh(CR);} |
Dannis_mbed | 0:81b21910454e | 94 | UART_iPutCh(pgm_read_byte(p++)); |
Dannis_mbed | 0:81b21910454e | 95 | }*/ |
Dannis_mbed | 0:81b21910454e | 96 | pc.printf(p); |
Dannis_mbed | 0:81b21910454e | 97 | } |
Dannis_mbed | 0:81b21910454e | 98 | |
Dannis_mbed | 0:81b21910454e | 99 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 100 | |
Dannis_mbed | 0:81b21910454e | 101 | ******************************************************************************/ |
Dannis_mbed | 0:81b21910454e | 102 | void UART_vPutInt (int c) |
Dannis_mbed | 0:81b21910454e | 103 | { |
Dannis_mbed | 0:81b21910454e | 104 | pc.printf("%i", c); |
Dannis_mbed | 0:81b21910454e | 105 | } |
Dannis_mbed | 0:81b21910454e | 106 | /****************************************************************************** |
Dannis_mbed | 0:81b21910454e | 107 | EOF |
Dannis_mbed | 0:81b21910454e | 108 | ******************************************************************************/ |