⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdma.c

📁 嵌入式LINUX下的摄像头采集及通过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 + -