📄 cdma.c
字号:
/***************************************************************
*cdma.c
*cdma控制程序
* CDMA模块型号:FD5105C
* File Name: cdma.c
* Description: 控制PPP拨号的应用程序
* Author: 唐子超
* Date: 2008.01.25
***************************************************************/
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include "cdma.h"
static void Delay(int x)
{
int i,j,k;
for (i=0;i<x;i++)
for (j=0;j<0xff;j++)
for (k=0;k<0xff;k++);
}
/**************************************************************
// IsPPPConnect - 检测PPP是否连接
// 返回0表示建立成功,-1表示失败
**************************************************************/
int IsPPPConnect(void)
{
FILE *fp;
int n=512;
int c;
char *buf=(char *)malloc(sizeof(char)*1024);
fp = fopen("/proc/net/dev","r");
while ((fgets(buf,n,fp))!=NULL)
{
// printf("%s\n",buf);
c=strncmp(buf+2,"ppp0",4);
if (c==0)
{
free(buf);
return 0;
}
}
free(buf);
Delay(20);
return -1;
}
/*
int fnCreatSock()
{
int sockfd;
struct sockaddr_in server_addr;
struct hostent *host;
if ((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
fprintf(stderr,"Socket Error:%s\a\n",strerror(errno));
exit(1);
}
printf("socket creat!\n");
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(PORT);
server_addr.sin_addr.s_addr=inet_addr(SERVERIP);
if (connect(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1)
{
fprintf(stderr,"Connect Error:%s\a\n",strerror(errno));
exit(1);
}
printf("connect OK!\n");
return sockfd;
}
*/
/**************************************************************
// fnDialPPP - PPP拨号程序
// 返回0表示建立成功。
**************************************************************/
int fnDialPPP()
{
system(PPPON); //PPP拨号
while (1)
{
if (IsPPPConnect()==0)
{
printf("PPP is creat!\n");
break;
}
else
continue;
}
return 0;
}
// 测试程序
/*
int main(int argc,char* argv[])
{
int nByte,err;
int erreur = 0;
int jpegsize = 0;
int rec[BUFSZ];
int sockfd,c;
pthread_t ppp;
//printf("IP Set to %s\n",SERVERIP);
sockfd=fnCreatSock();
while (1)
{
CaptureFromUsb(SAVEPATH);
recv(sockfd,rec,BUFSZ,0);
if (rec[0] != 'G')
continue;
printf("recv=%s\n",rec);
if ((nByte = send(sockfd,videoIn.ptframe,videoIn.jpegsize,0))!=videoIn.jpegsize)
printf("Send Error!\n");
printf("Send Data=%d\n",nByte);
//test on board ..start
// char test[2]={0xff,0xff};
// if((nByte = send(sockfd,test,sizeof(test),0))!=sizeof(test))
// printf("Send Error!\n");
// printf("Send Data=%d\n",nByte);
//..end
close_v4l(&videoIn);
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -