在路上...

The development of life
我们一直都在努力,有您的支持,将走得更远...

站内搜索: Google

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2009年8月24日

摘要: 初始化SOCKET(客户端) 连接到host的port端口/////////////////////////////////////////////int InitSocket_Client(unsigned char *host,int port){ int sockfd;struct hostent *he;struct sockaddr_in srvaddr; int connectflag... 阅读全文
posted @ 2009-08-24 15:15 palam 阅读(1461) 评论(0) 推荐(0) 编辑

摘要: 传值:#include <stdio.h>#include <pthread.h>void thread(int i){ int k; for (k=0;k<10;k++) { printf("this is %d pthread.\n",i); }}int main(){ pthread_t pthread_id; int i,ret; int m=2; ret=p... 阅读全文
posted @ 2009-08-24 15:10 palam 阅读(447) 评论(1) 推荐(0) 编辑

摘要: struct S1 { char c; int i; }; 问sizeof(s1)等于多少? 聪明的你开始思考了,char占1个字节,int占4个字节,那么 加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错 的!VC6中按默认设置得到的结果为8。 Why为什么受伤的总是我 请不要沮丧,我们来好好琢磨一下sizeof的定义——sizeof的结果等于对... 阅读全文
posted @ 2009-08-24 15:06 palam 阅读(289) 评论(0) 推荐(0) 编辑

摘要: 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode) 阅读全文
posted @ 2009-08-24 15:02 palam 阅读(1568) 评论(0) 推荐(0) 编辑

摘要: int SelectRecv(int sockdf, unsigned char *data, int len,int mark){ int retval; int flag=-1; fd_set rfds; struct timeval timeout; timeout.tv_sec=0; timeout.tv_usec=2; FD_ZERO(&rfds); FD_SET(sockdf... 阅读全文
posted @ 2009-08-24 15:01 palam 阅读(609) 评论(0) 推荐(0) 编辑

摘要:    代码实例中的服务器通过socket连接向客户端发送字符串"Hello, you are connected!"。只要在服务器上运行该服务器软件,在客户端运行客户软件,客户端就会收到该字符串。 无连接的客户/服务器程序的在原理上和连接的客户/服务器是一样的,两者的区别在于无连接的客户/服务器中的客户一般不需要建立连接,而且在发送接收数据时,需要指定远端机的地址。 阅读全文
posted @ 2009-08-24 14:58 palam 阅读(532) 评论(0) 推荐(0) 编辑

摘要:   阻塞函数在完成其指定的任务以前不允许程序调用另一个函数。例如,程序执行一个读数据的函数调用时,在此函数完成读操作以前将不会执行下一程序语句。当服务器运行到accept语句时,而没有客户连接服务请求到来,服务器就会停止在accept语句上等待连接服务请求的到来。这种情况称为阻塞(blocking)。而非阻塞操作则可以立即完成。比如,如果你希望服务器仅仅注意检查是否有客户在等待连接,有就接受连接,否则就继续做其他事情,则可以通过将Socket设置为非阻塞方式来实现。非阻塞socket在没有客户在等待时就使accept调用立即返回。 阅读全文
posted @ 2009-08-24 14:56 palam 阅读(379) 评论(0) 推荐(0) 编辑

摘要: 网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket (SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。 阅读全文
posted @ 2009-08-24 14:56 palam 阅读(1168) 评论(0) 推荐(0) 编辑

摘要: int recvsocket=InitSocket_Server(RECVPORT);//初始化接受端口ret=pthread_create(&pthread_id,NULL,(void *)pthread_1,(void*)&recvsocket);其中pthread_1的定义如下: void pthread_1(int *socket) { SelectRecv(socket,... 阅读全文
posted @ 2009-08-24 14:53 palam 阅读(891) 评论(0) 推荐(0) 编辑

摘要: 应用层: #include <unistd.h>1、unsigned int sleep(unsigned int seconds); 秒级2、int usleep(useconds_t usec); 微秒级:1/10^-6 #define _POSIX_C_SOURCE 199309 #include <time.h> 3、int nanosleep(const st... 阅读全文
posted @ 2009-08-24 14:52 palam 阅读(1410) 评论(0) 推荐(0) 编辑

摘要: 由于LINUX下应用层不能直接访问寄存器,只要通过驱动程序作为桥梁 // 驱动程序:#ifndef __KERNEL__#define __KERNEL__#endif#ifdef MODULE#define __MODULE__#endif#include <module.h>#include <linux/fs.h>#include <linux/iobuf.h&... 阅读全文
posted @ 2009-08-24 14:51 palam 阅读(1023) 评论(0) 推荐(0) 编辑

摘要: C51存贮器类型 C51编译器完全支持8051微处理器及其系列的结构,可完全访问MCS-51硬件系统所有部分。每个变量可准确地赋予不同的存贮器类型(data,idata,pdata,xdata,code)。访问内部数据存贮器(idata)要比访问外部数据存贮器(xdata)相对要快一些,因此,可将经常使用的变量置于内部数据存贮器中,而将较大及很少使用的数据单元置于外部数据存贮器中。 存贮器类型描 ... 阅读全文
posted @ 2009-08-24 14:49 palam 阅读(911) 评论(0) 推荐(0) 编辑

摘要: void Openint(void) //打开中断{ EA=1;//开中断 IT0=1; //外部中断0下降沿触发 IT1=1; //外部中断1下降沿触发 EX0=1;//外部中断0 EX1=1;//外部中断1 ET0=1;//开timer0中断 ES=0;//开串口中断}void IntGradeSet(void) //设置优先级{ PS=0; //串口优先级 PT0=0; //timer0中... 阅读全文
posted @ 2009-08-24 14:48 palam 阅读(628) 评论(0) 推荐(0) 编辑

摘要: #include "dos.h"#include "stdlib.h"#include "stdio.h"#define PORT 0void SendFile(char *fname); /* 发送文件*/void Send(int s); /*发送一个字节*/void SendFileName(char *fname); /*发送文件名*/void ReceiveFile(); /*接收文件*... 阅读全文
posted @ 2009-08-24 14:44 palam 阅读(1578) 评论(0) 推荐(0) 编辑

摘要: 进程的间隔计时器能够提供的时间精度为微秒,对于大多数的应用来说,应该已经足够! 阅读全文
posted @ 2009-08-24 14:43 palam 阅读(1363) 评论(0) 推荐(0) 编辑

摘要: 在程序中可能需要某段代码连续执行,不想被其他线程打断。 对于不能被打断的操作我们叫它原子操作,为了能使线程中的某段代码成为原子操作, 实现这个问题有要使用临界区加锁的办法 阅读全文
posted @ 2009-08-24 14:42 palam 阅读(1975) 评论(0) 推荐(0) 编辑

摘要: 用pthread_create函数创建一个线程,在这个线程中,我们使用默认参数,即将该函数的第二个参数设为NULL。的确,对大多数程序来说,使用默认属性就够了,但我们还是有必要来了解一下线程的有关属性。 属性结构为pthread_attr_t,它同样在头文件pthread.h中定义,属性值不能直接设置,须使用相关函数进行操作,初始化的函数为 pthread_attr_init,这个函数必须在pthread_create函数之前调用。属性对象主要包括是否绑定、是否分离、堆栈地址、堆栈大小、优先级。默认的属性为非绑定、非分离、缺省的堆栈、与父进程同样级别的优先级 阅读全文
posted @ 2009-08-24 14:40 palam 阅读(507) 评论(0) 推荐(0) 编辑

摘要: 1,什么是串口?2,什么是RS-232?3,什么是RS-422?4,什么是RS-485?5,什么是握手?1,什么是串口?串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS- 232口。同时,串口通信协议也可以用于获取远... 阅读全文
posted @ 2009-08-24 14:37 palam 阅读(1762) 评论(0) 推荐(0) 编辑

摘要: 一.丢失引导:华恒论坛在新版本的ppcboot中的说明如下: 近来不断有客户反映,s3c2410的一些开发板有时会莫名的丢失引导。一开始我们以为是客户不熟悉操作,不小心误操作的结果,但经过一段时间的多方检测,发现这里不仅仅是误操作这么简单;我们通过对这方面的问题收集,并结合客户反馈的若干想法和建议,我们总结后发现这不单单是s3c2410相关开发板的问题,还包括ppc8250、xscale425、s... 阅读全文
posted @ 2009-08-24 14:32 palam 阅读(378) 评论(0) 推荐(0) 编辑

摘要: 1、 修改CPU/2410/中的start.s文件#define pWTCON 0x53000000 原代码: ldr r0, =pWTCON mov r1, #0x0 关闭看门狗str r1, [r0]改为: ldr r0, =pWTCNT ldr r1, =0x7724 大约15秒复位 str r1, [r0] ldr r0, =pWTCON ldr r1, =0xFF39 打开看门狗s... 阅读全文
posted @ 2009-08-24 14:29 palam 阅读(377) 评论(0) 推荐(0) 编辑