Library set up as dummy module on mbed to mimic Nordic.

Dependencies:   mbed-rtos mbed

Committer:
Stephen_NewVistas
Date:
Tue Dec 13 00:20:29 2016 +0000
Revision:
2:9ab591cf81b8
Parent:
0:226550611f0d
everything commented . now going to strip out mbed stuff.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Stephen_NewVistas 0:226550611f0d 1 #include "uart1.h"
Stephen_NewVistas 0:226550611f0d 2 #include "mbed.h"
Stephen_NewVistas 0:226550611f0d 3
Stephen_NewVistas 0:226550611f0d 4 #define BUFFERSIZE 128
Stephen_NewVistas 0:226550611f0d 5 extern Serial bus;
Stephen_NewVistas 0:226550611f0d 6 DigitalOut led_2(LED2);
Stephen_NewVistas 0:226550611f0d 7
Stephen_NewVistas 0:226550611f0d 8 static unsigned char U1buf[BUFFERSIZE];
Stephen_NewVistas 0:226550611f0d 9 static unsigned int U1ptr;
Stephen_NewVistas 0:226550611f0d 10 static unsigned int U1gptr;
Stephen_NewVistas 0:226550611f0d 11 static unsigned int U1cnt;
Stephen_NewVistas 0:226550611f0d 12
Stephen_NewVistas 0:226550611f0d 13
Stephen_NewVistas 0:226550611f0d 14 static void
Stephen_NewVistas 0:226550611f0d 15 serial_event()
Stephen_NewVistas 0:226550611f0d 16 {
Stephen_NewVistas 0:226550611f0d 17 led_2 = !led_2;
Stephen_NewVistas 0:226550611f0d 18
Stephen_NewVistas 0:226550611f0d 19 if(bus.readable())
Stephen_NewVistas 0:226550611f0d 20 {
Stephen_NewVistas 0:226550611f0d 21 U1buf[U1ptr++] = (unsigned char) USART1->RDR & 0xFF;//(unsigned char)bus.getc();
Stephen_NewVistas 0:226550611f0d 22 U1ptr &= BUFFERSIZE-1;
Stephen_NewVistas 0:226550611f0d 23 if(U1ptr == U1gptr)
Stephen_NewVistas 0:226550611f0d 24 {
Stephen_NewVistas 0:226550611f0d 25 U1gptr++;
Stephen_NewVistas 0:226550611f0d 26 U1gptr &= BUFFERSIZE-1;
Stephen_NewVistas 0:226550611f0d 27 }
Stephen_NewVistas 0:226550611f0d 28 else
Stephen_NewVistas 0:226550611f0d 29 {
Stephen_NewVistas 0:226550611f0d 30 U1cnt++;
Stephen_NewVistas 0:226550611f0d 31 }
Stephen_NewVistas 0:226550611f0d 32 }
Stephen_NewVistas 0:226550611f0d 33 }
Stephen_NewVistas 0:226550611f0d 34
Stephen_NewVistas 0:226550611f0d 35 void
Stephen_NewVistas 0:226550611f0d 36 init_uart1(void)
Stephen_NewVistas 0:226550611f0d 37 {
Stephen_NewVistas 0:226550611f0d 38 bus.baud(115200);
Stephen_NewVistas 0:226550611f0d 39 bus.attach(&serial_event,Serial::RxIrq);
Stephen_NewVistas 0:226550611f0d 40
Stephen_NewVistas 0:226550611f0d 41 U1ptr = U1gptr = U1cnt = 0;
Stephen_NewVistas 0:226550611f0d 42 }
Stephen_NewVistas 0:226550611f0d 43
Stephen_NewVistas 0:226550611f0d 44 int
Stephen_NewVistas 0:226550611f0d 45 uart1_is_char(void)
Stephen_NewVistas 0:226550611f0d 46 {
Stephen_NewVistas 0:226550611f0d 47 return U1cnt;
Stephen_NewVistas 0:226550611f0d 48 }
Stephen_NewVistas 0:226550611f0d 49
Stephen_NewVistas 0:226550611f0d 50 int
Stephen_NewVistas 0:226550611f0d 51 uart1_get_char(void)
Stephen_NewVistas 0:226550611f0d 52 {
Stephen_NewVistas 0:226550611f0d 53 int result;
Stephen_NewVistas 0:226550611f0d 54 result = 0;
Stephen_NewVistas 0:226550611f0d 55 if(U1cnt)
Stephen_NewVistas 0:226550611f0d 56 {
Stephen_NewVistas 0:226550611f0d 57 result = U1buf[U1gptr++];
Stephen_NewVistas 0:226550611f0d 58 U1gptr &= BUFFERSIZE-1;
Stephen_NewVistas 0:226550611f0d 59 U1cnt--;
Stephen_NewVistas 0:226550611f0d 60 }
Stephen_NewVistas 0:226550611f0d 61
Stephen_NewVistas 0:226550611f0d 62 return result;
Stephen_NewVistas 0:226550611f0d 63 }
Stephen_NewVistas 0:226550611f0d 64
Stephen_NewVistas 0:226550611f0d 65 void
Stephen_NewVistas 0:226550611f0d 66 send_uart1_char(unsigned char c)
Stephen_NewVistas 0:226550611f0d 67 {
Stephen_NewVistas 0:226550611f0d 68 bus.putc(c);
Stephen_NewVistas 0:226550611f0d 69 }