#include #include #include // gettimeofday #include #include #include #include #include #include #include #include #include #include #include #include #include "serial.h" #include "uartinf.h" char _rx_data[1024]; int main (int argc, char *argv[]) { int n_read; int i; char *buffer; char *buffer_rssi; char *buffer_rssi1; char *buffer_rssi2; int fd_param; int *buffer_param; int len; n_read = uart_init(ROUTE_UART, "/dev/ttyAMA2", 115200, 'N'); if(n_read <=0 ) { printf("open /dev/ttyAMA2 failed\n"); return -1; } uart_write(ROUTE_UART, "AT^DRPS?\r");//读频率 n_read = uart_read(ROUTE_UART, _rx_data); printf("%s\n",_rx_data); while(1){ n_read = uart_read(ROUTE_UART, _rx_data); if(n_read >0){ printf("%s\n",_rx_data); } } # if 0 fd_param = shm_open("/param.txt",O_RDWR|O_CREAT|O_EXCL,0777); if(fd_param < 0){ fd_param = shm_open("/param.txt",O_RDWR,0777); }else ftruncate(fd_param,4096); buffer_param= mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_SHARED,fd_param,0); while(1){ n_read = uart_get(ROUTE_UART, _rx_data); if(n_read >0){ printf("%s\n",_rx_data); if(!strncmp("VGA",_rx_data,3)){ printf("%s\n",_rx_data); // sscanf(_rx_data,"VGA:%d RSSI:%f RSSI1:%f RSSI2:%f",&num,&rssi,&rssi1,&rssi2); buffer_rssi = strstr(_rx_data,"RSSI:"); buffer_rssi1 = strstr(_rx_data,"RSSI1:"); buffer_rssi2 = strstr(_rx_data,"RSSI2:"); if( buffer_rssi && buffer_rssi1 && buffer_rssi2){ strncpy(bit,buffer_rssi+5,6); rssi = atof(bit); strncpy(bit,buffer_rssi1+6,6); rssi1 = atof(bit); strncpy(bit,buffer_rssi2+6,6); rssi2 = atof(bit); buffer_param[0] = rssi; buffer_param[1] = rssi1; buffer_param[2] = rssi2; buffer_param[4] = 1434000; buffer_param[6] = 0; } printf("+++++%f %f %f %d\n", rssi,rssi1,rssi2,1434000); }else{ buffer=strstr(_rx_data,"%)"); buffer_rssi = strstr(_rx_data,"RSSI:"); buffer_rssi1 = strstr(_rx_data,"RSSI1:"); buffer_rssi2 = strstr(_rx_data,"RSSI2:"); if(buffer_rssi && buffer && n_read >30){ printf("%s\n",buffer); //sscanf(_rx_data,"%d(%d) :VGA:%d RSSI:%f RSSI1:%f RSSI2:%f(air:vga:%d RSSI1: %d RSSI2: %d err:%d\%)%dkbps",&num,&num1,&vga,&rssi,&rssi1,&rssi2,&vga1,&air_rssi1,&air_rssi2,&err,&bitrate); strncpy(bit,buffer+2,4); bitrate=atoi(bit); strncpy(bit,buffer_rssi+5,4); rssi = atof(bit); strncpy(bit,buffer_rssi1+6,4); rssi1 = atof(bit); strncpy(bit,buffer_rssi2+6,4); rssi2 = atof(bit); printf("%f %f %f %d %d %d %d %d %d\n",rssi,rssi1,rssi2,snr,freq,vga1,air_rssi1,air_rssi2,bitrate); buffer_param[0] = rssi; buffer_param[1] = rssi1; buffer_param[2] = rssi2; buffer_param[3] = 30; buffer_param[4] = 1434000; buffer_param[5] = bitrate; buffer_param[6] = 1; } } } } #endif }