if((uart_getstat() & UART_WAKEUP) == 0) return 0; // Error
while(s[p] != 0x00)
{
- uart_pushchar(s[p], 100); // Timeout = 10ms
+ uart_pushchar(s[p], 200); // Timeout = 10ms
p++;
if(p >= 255) return 0; // Overlen
}
void uart_term_getstr(unsigned char *s, unsigned int timeout, unsigned char echo)
{
- unsigned char i = 0;
+ unsigned int i = 0;
unsigned char c = 0x00;
unsigned int tim;
unsigned char pwr;
cnt = 0;
}
cnt++;
- if(echo != 0) uart_pushchar(c, 0); // Echoback
+ if(echo != 0) uart_pushchar(c, 200); // Echoback
if(c == '\b') { // BS
- if(i > 0) i--;
- s[i] = '\0';
- } else {
- s[i] = c;
+ if(i > 0) {
+ s[i] = '\0';
+ i--;
+ }
+ } else
+ if(c < 0x80) {
+ s[i] = c;
i++;
if((c == '\t') || (c == '\n') || (c == '\r')) break; // TAB OR CR
if(i >= 128) break;