?? main.c
字號:
/************************************************ * GPRS demo, use ppp to connect internet * use ttyS1 to ctrol GPRS * by Zou jian guo <ah_zou@163.com> * 2004-11-02 **************************************************/#include <termios.h>#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <time.h>//#include <sys/signal.h>#include <pthread.h>#include "tty.h"#include "gprs.h"/*--------------------------------------------------------*/#define ENDMINITERM 27 /* ESC to quit miniterm */#define FALSE 0#define TRUE 1/*--------------------------------------------------------*/volatile int STOP=FALSE;int GET_GPRS_OK=FALSE;int baud=B9600;int get_baudrate(int argc,char** argv);char * cmd[20]={ "at", "ate1", "at+chfa=1", /*設置通話通道為1,AT+CHFA 命令切換主副音頻通道*/ "at+clvl=100", /*設置受話器音量最大, AT+CLVL 命令可以調節輸出音頻信號增益*/ "at+cmic=1,10" /*設置通道1的話筒增益*/// "atd12345678\r",};void * keyshell() ;/*--------------------------------------------------------*//*--------------------------------------------------------*//* modem input handler *//*void* gprs_show(void * data){ while(1){ if(GET_GPRS_OK){ GET_GPRS_OK=FALSE;// printf("%s",GPRS_BUF);// GPRS_parse(GPRS_BUF,&gps_info);// GPRS_show(); } usleep(100); if(STOP)break; }}*//*--------------------------------------------------------*//* modem input handler */void* gprs_read(void * data){ int i=0; char c; char buf[1024]; printf("\nread modem\n"); while (STOP==FALSE) { tty_read(&c,1); printf("%c",c); } printf("exit from reading modem\n"); return NULL; }/*--------------------------------------------------------*/int main(int argc,char** argv){ int ok; pthread_t th_a, th_b, th_show; void * retval; if(argc < 2) printf (" Default baudrate is 9600 bps. If not, please enter the baudrate as a parameter\n"); else baud=get_baudrate(argc, argv); tty_init(); pthread_create(&th_a, NULL, keyshell, 0); pthread_create(&th_b, NULL, gprs_read, 0);// pthread_create(&th_show, NULL, gprs_show, 0); while(!STOP){ usleep(100000); } tty_end(); exit(0); }int get_baudrate(int argc,char** argv){ int v=atoi(argv[1]); switch(v){ case 4800: return B4800; case 9600: return B9600; case 19200: return B19200; case 38400: return B38400; case 57600: return B57600; case 115200: return B115200; default: return -1; } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -