From 9e506f48291533cba7b4c555b0d2e98f234bfbe3 Mon Sep 17 00:00:00 2001
From: siddhu8990
Date: Wed, 19 Apr 2017 14:28:34 +0530
Subject: Merged Ashish's work

---
 src/c/hardware/avr/uart/dAVRUARTTransmits.c | 88 +++++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)
 create mode 100644 src/c/hardware/avr/uart/dAVRUARTTransmits.c

(limited to 'src/c/hardware/avr/uart/dAVRUARTTransmits.c')

diff --git a/src/c/hardware/avr/uart/dAVRUARTTransmits.c b/src/c/hardware/avr/uart/dAVRUARTTransmits.c
new file mode 100644
index 00000000..ec63c4de
--- /dev/null
+++ b/src/c/hardware/avr/uart/dAVRUARTTransmits.c
@@ -0,0 +1,88 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution.  The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ashish Kamble
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/ 
+//Not Tested// 
+#include "AVRPeripheralUART.h"
+#include<math.h>
+
+
+uint8 dAVRUARTTransmits(double data)
+{ 
+ //Extract integer part
+ long int intpart = (long int)data;
+ //Extract double part
+ //double floatpart = data - (double)intpart; 
+ char* str;
+ int i = 0;
+ while(intpart)
+ {
+  str[i] = (intpart%10) + '0';
+  intpart = intpart/10;
+  i++;
+ }
+ str[i]='\0';
+ /*
+ int j = 0;
+ int k = i-1; 
+ char temp;
+ while(j<k)
+ {
+  temp = str[j];
+  str[j] = str[k];
+  str[k] = temp;
+  j++; 
+  k--;
+ }
+*/
+ 
+
+ /*
+ char* strfloat;
+ floatpart = floatpart*1000000000;
+ int l = 0;
+ while(floatpart)
+ {
+  strfloat[l] = ((unsigned int)floatpart%10) + '0';
+  floatpart = floatpart/10;
+  l++;
+ }
+ while(*strfloat!='\0')
+ {
+  str[i+1] = strfloat[l-1];
+  i++;
+  l--;
+ }
+ */
+ 
+ while(*str!='\0')
+ {
+  while ( !( UCSRA & (1<<UDRE)) ) ; // Wait for empty transmit buffer 
+  UDR = *str; // Put data into buffer, sends the data 
+  str++;
+ }
+ while ( !( UCSRA & (1<<UDRE)) ) ; // Wait for empty transmit buffer 
+ UDR = (10); // Put data into buffer, sends the data 
+ while ( !( UCSRA & (1<<UDRE)) ) ; // Wait for empty transmit buffer 
+ UDR = (13); // Put data into buffer, sends the data 
+ return 0;
+}
+ 
+
+
+
+
+
+
+
+
+
+
+
-- 
cgit