uint8_t uart_getchar(uint8_t id, uint16_t timeout, uint8_t *perro) { uint8_t data = 0; if(id <= 3) { data = rx_fifo_out(uart_tab[id], timeout, perro); } return data; }
int wlan_rx(rxfifo_t *rx_fifo, int cnt) { int i, num, rx_cnt, ret; rx_cnt = 0; num = rx_fifo_used(rx_fifo); if (num > cnt) num = cnt; for (i = 0; i < num; i++) { ret = rx_fifo_out(rx_fifo, wlan_rx_process); if (ERROR == ret) break; rx_cnt++; } return rx_cnt; }
uint32_t uart_recv(unsigned char id, uint8_t *pdata, uint32_t len, uint32_t timeout, uint8_t *perro) { if(id > 3) { return 0; } uint32_t i = 0; while(1) { if(len != 0) { uint8_t data = rx_fifo_out(uart_tab[id], timeout, perro); if(*perro == 0) { *pdata++ = data; // 忘记输出了........ len--; i++; } else break; } else break; } return i; }