--- trunk/Embedded/main.c 2007/12/03 14:40:44 138 +++ trunk/Embedded/main.c 2007/12/03 17:19:35 139 @@ -7,16 +7,19 @@ #define LCD_LENGTH 16 #define LCD_ROWS 2 +#define SEND_BUFFER 128 unsigned char global_Pot_Hi, global_Pot_Lo; unsigned char global_LCD_Buffer[LCD_ROWS][LCD_LENGTH]; -unsigned char global_serial_data; +unsigned char global_serial_send[SEND_BUFFER]; unsigned char global_serial_recieve_buffer[LCD_LENGTH]; bit global_recieve_done = 0; int global_serial_byte_counter = 0; void serial_recieved(void); +void serial_send(void); +void update_lcd(void); // Nicked from H7 void ad_init(void) @@ -78,6 +81,23 @@ void sms_init(void) { + int i = 1; + sprintf(global_serial_send,"%s", "at+cpin=8043\r"); + serial_send(); + DelaySek(60); + + update_lcd(); + DelaySek(5); + + sprintf(global_serial_send,"%s%s", "at+cmgs=","\"22337617\"\r"); + serial_send(); + DelayMs(5000); + + sprintf(global_serial_send,"%s%d%c","Dette er test nr: ", i, 0x1A); + serial_send(); + DelayMs(5000); + i++; + } void interrupt interrupt_handler(void) @@ -95,14 +115,16 @@ void serial_send(void) { int i; - char tosend[3]; +// char tosend[3]; char data; - sprintf(tosend,"%s", "at\r"); - for(i = 0; i < 3; i++) +// sprintf(tosend,"%s", "at\r"); + for(i = 0; i < SEND_BUFFER; i++) { - data = tosend[i]; + data = global_serial_send[i]; + if( data == '\r') + i = (SEND_BUFFER - 1); TXREG = data; - while(TRMT==0) + while(TRMT==0) ; DelayMs(1000); } } @@ -125,6 +147,16 @@ } } +void update_lcd(void) +{ + if( global_recieve_done == 1 ) + { + lcd_clear(); + lcd_goto(0x00); + lcd_puts(global_serial_recieve_buffer); + global_recieve_done = 0; + } +} void main() { @@ -137,8 +169,9 @@ rs232_init(); pic18_io_init(); lcd_init(0); + lcd_clear(); interrupt_init(); - + sms_init(); ///////////////////////////////////////////// // Main loop @@ -151,13 +184,6 @@ global_Pot_Lo = ADRESL; GODONE = 1; } - - if( global_recieve_done == 1 ) - { - lcd_clear(); - lcd_goto(0x00); - lcd_puts(global_serial_recieve_buffer); - global_recieve_done = 0; - } + update_lcd(); } }