17,6 → 17,8 |
#define GPS_ON() PORTB|=0x02 |
#define GPS_OFF() PORTB&=0xFD |
#define DELAY(dly) for(Timer=dly;Timer;) |
|
#define GPS_BAUDRATE 9600 // Enable USRAT0 in N81,9600bps |
|
#define VTH_LOW (WORD)(8000UL*100/3838) |
#define VTH_HIGH (WORD)(11500UL*100/3838) |
150,7 → 152,7 |
rxfifo.idx_r = 0; |
rxfifo.idx_w = 0; |
rxfifo.count = 0; |
UBRR0L = SYSCLK/16/9600; // Enable USRAT0 in N81,4800bps |
UBRR0L = SYSCLK/16/GPS_BAUDRATE; |
UCSR0B = _BV(RXCIE0)|_BV(RXEN0)|_BV(TXEN0); |
Stat &= 0xFD; // Clear overflow flag |
sei(); |
219,7 → 221,7 |
for (;;) { |
if (Stat & 1) return 0; // When power fail is detected, return with zero. |
c = uart_get(); |
if (Stat & 2) { // When buffer overflow has occured, restert to receive line. |
if (Stat & 2) { // When buffer overflow has occured, restart to receive line. |
uart_init(); |
i = 0; c = 0; |
} |
370,14 → 372,11 |
) |
{ |
if (f_write(&file1, Buff, b, &s) || b != s) { err = 5; break; }; |
/* itoa(battery,&Value1,10); // convert binary number to character |
itoa(battery,&Value1,10); // convert number to character |
itoa(intensity,&Value2,10); |
strcpy(&Buff[0], Value1); |
strcpy_P(&Buff[4], PSTR(",")); |
strcpy(&Buff[5], Value2); |
strcpy_P(&Buff[9], PSTR("\r\n")); |
if (f_write(&file1, Buff, 11, &s) || 11 != s) { err = 8; break; }; |
*/ } |
sprintf(Buff,"%d,%d\n",Value1,Value2); |
if (f_write(&file1, Buff,strlen(Buff), &s) || (strlen(Buff) != s)) { err = 8; break; }; |
} |
if ((Stat & 4) == 0) continue; |
if (f_sync(&file1)) { err = 6; break; };// Synchronize the file in interval of 300 sec. |
cli(); Stat &= 0xFB; sei(); // Clear sync request |