lonely151
Newbie level 2
I have finsh this code for read from temp sensor then convert to digital
then send it to pc
and it work
i need try to send this value (x) by sms
what will be do ??
where i write at command ? can any one tell me
then send it to pc
and it work
Code:
#define F_CPU 3686400UL
#include <ctype.h>
#include <stdint.h>
#include <stdio.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include "uart.h"
#define sbi(port, bit) (port) |= (1 << (bit))
#define loop_until_bit_is_clear(sfr, bit) do { } while (bit_is_set(sfr, bit))
FILE uart_str = FDEV_SETUP_STREAM(uart_putchar, uart_getchar, _FDEV_SETUP_RW);
////////////////////////////////////////////////
void my_delay(int w) //Define delay function.
{
int i;
for(i=0; i<= w ; i++)
_delay_ms(1);
}
////////////////////////////////////////////////
void initUART()
{
UBRRH =0;
UBRRL = 11; // for baud rate=19200
UCSRC = 0x86; // mode 8N1
UCSRB = 0x18; // enable RX and TX
}
//---------------------------------------------------
void sendByte(char x)
{ while((UCSRA & 0x20)==0 )
; //wait till bit 5 of UCSRA is set check bit 5 (UDRE)
UDR=x;
}
//////////////////////////////////////
//stdout = stdin = &uart_str; // map stdin and stdout to serial port
int main(void)
{
ADMUX= 0b00100000; // chan 0, left adjusted,Vref=5
ADCSRA= 0b10000110; // ADC enabled, pre-scalar 64
DDRA= 0; //PORT A input
unsigned int x ,lsb , msb,c1,c2 ; //declare the temprature
char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8','9','A','B','C','D','E','F' };
unsigned int w;
unsigned int result;
////////////////////////////////////////////////
ADMUX= 0b00100010; // chan 0, left adjusted,Vref=5
ADCSRA = ADCSRA | 0x40 ; // start conversion.
do {
w = ADCSRA & 0x10;
} while (w == 0); // repeat until EOC
result = ADC; // the sampled data is in result
// we can do whatever with the sampled data.
//For now, we will display in on PORTD
result = (result>>8); // truncate from 10 to
x=result;
/////////////////////////////////////////////
lsb = x& 0xf ;
msb = (x>>4) & 0xf ;
c1= hex[lsb];
c2= hex[msb];
while (1)
{
initUART();
{
sendByte('X');sendByte('=');sendByte(' ');
sendByte(c1);
sendByte(c2);
my_delay(1000);
}
}
return 0;
}
what will be do ??
where i write at command ? can any one tell me