http://www.askwan.com/post/16/
1、安装: pkg_add -rv minicom

2、安装完成后,# rehash,然后运行# minicom 进行配置。配置和使用前最好查询一下minicom的man页,学习一下
它的键盘操作命令。注意,如果在/usr/local/etc/minicom/下没有etc目录,就要新建一个,用于保存配置文件。
3、进入minocom界面后,按Ctrl+A调出命令模式后,再按o命令,进入配置菜单。主要调整两样,一个是串口号,一个是波特率。
我的配置是:串口设置填/dev/cuad0,波特率部份填9600 8N1。
4、配置后,选择“Save setup as...”把它存为cisco。用X命令退出minicom。
5、用串行线连接电脑串口与交换机的控制口(Console)后,用# minicom 进入minicom即可!
纸上得来终觉浅, 绝知此事要躬行,路慢慢其修远兮,吾将上下而求索,究天人之际,通古今之变,成一家之言!
一个人的性格,会成为他今后命运的指针 吗?
从前我太忙,忙着询问别人,反而忽略了最重要的事---回到自己身上找,因一个人的性格,会成为他今后命运的指针,建立自我,追求忘我。

今天日期

$today=date("Y-m-d");


昨天日期  

$yesterday = date("Y-m-d", mktime(0, 0, 0,date("m"),date("d")-1,date("Y")));


本周开始日期(周一至周日算法)

$weekstart = date('Y-m-d',strtotime('last monday'));


   本周结束日期(周一至周日算法)

$weekend = date("Y-m-d", mktime(0, 0, 0,date("m",strtotime($weekstart)),date("d",strtotime($weekstart))+6,date("Y",strtotime($weekstart))));


   上周开始日期(周一至周日算法)

$pre_weekend = date('Y-m-d',strtotime('last sunday'));


   上周结束日期(周一至周日算法)

$pre_weekstart = date("Y-m-d", mktime(0, 0, 0,date("m",strtotime($weekend)),date("d",strtotime($weekend))-6,date("Y",strtotime($weekend))));

#include <stdio.h>
int a()
{       int b;
        int a= 0x1e;
        b = a+1;
        return b;
        printf("%d",b);

}
int main()
{
int dd;
dd  = a();
printf("%d",dd);



}
富家子弟等于温室长大的植物,无论是大树或是什么植物,根部一定不壮,若再放纵他一点,将来他一生辛苦,遇到什么打击,面对逆境他便无法应付,我虽然不是很本事,但我可以说,我这颗小树,是在风雨中,从沙石中长大的。你可以到山上试一试,要拔起从沙石缝中长出来的小植物,是相当费劲。


当然你对i的工作有兴趣,当然你可以做得很好。
香港公司的人要找我,外国公司的人也要找我,我两方面都要照顾,都是这样应付,习惯了,也明白到身处这个职位便要有这种负担!
1、“这第一碗酒,朕要敬给太皇太后孝庄,敬给列祖列宗的在天之灵。朕八岁丧父,九岁丧母,是孝庄太后带着朕,冲破千难险阻,才有今天的大清盛世!孝庄太后,朕想你啊。

还有这第二碗酒,朕要敬给列位臣工,敬给天下子民,敬给今天赴宴的老同年们!六十年来,是你们辅佐朕,保国平安,你们俯首农桑,致使大清的百业兴旺。君、臣、民,三者同德呀,啊!没有你们,记着便没有今日的大清。朕在这儿谢谢你们了。

这第三碗酒啊,朕要敬给朕的死敌们。鳌拜,吴三桂,嘿!郑经,噶尔丹,噢,还有那个朱三太子,啊?嘿,他们都是英雄豪杰呀,啊,他们造就了朕那!他们逼着朕立下了这丰功伟业。朕恨他们,也敬他们。哎,可惜呀,他们都死了,朕寂寞啊!......朕不祝他们死的安宁,祝他们,来生再世再与朕为敌吧!”阅读全文
串口编程
查询硬件的方式:查询方式、中断方式、DMA方式。串口很多是使用中断方式,这种方式一般来讲对CPU比较有效。

UART的操作主要包括以下几个部分:
      数据发送;数据接受;产生中断;产生波特率;Loopback模式;红外模式;自动流控模式;
      串口参数的配置主要包括:波特率、数据位、停止位、流控协议。

在linux下操作串口与操作文件相同。

在使用串口之前必须设置相关配置,包括:波特率、数据位、校验位、停止位等。串口设置由下面结构体实现。
     Struct termios{
                 tcflag_t c_iflag;  /* input flags */
                 tcflag_t c_oflag;  /* output flags */
                 tcflag_t c_cflag;  /* control flags */
                 tcflag_t c_lflag;  /* local flags */
                 cc_t  c_cc[NCCS]; /* control character */
     };

串口配置流程
    1、保存原先串口配置,使用tcgetattr(fd,&oldtio)函数
         struct termios newtio,oldtio;
          tcgetattr(fd,&oldtio);
     2、激活选项,有CLOCAL 和CREAD,用于本地连接和接收使能。
           newtio.c_cflag |= CLOCAL | CREAD
     3、设置波特率,使用函数cfsetispeed、cfsetospeed。
            cfsetipeed(&newtio, B115200);
            cfsetospeed(&newtio, B115200);
     4、设置数据位,需要使用掩码设置。
             newtio.c_cflag &= ~CSIZE;
             newtio.c_cflag |= CS8;
     5、设置奇偶校验位,使用c_cflag和c_iflag。
            设置奇校验:
            newtio.c_cflag |= PARENB;
            newtio.c_cflag |= PARODD;
             newtio.c_iflag |= (INPCK | ISTRIP);
             设置欧校验:
             newtio.c_iflag |= (INPCK | ISTRIP);
             newtio.c_cflag |= PARENB;
             newtio.c_cflag &= ~PARODD;
      6、设置停止位,通过激活c_cflag中的CSTOPB实现。若停止位为1,则清楚CSTOPB,若停止位为2,则  激活CSTOPB。
            newtio.c_cflag &= ~CSTOPB;
      7、设置最少字符和等待时间,对于接受字符和等待时间没有特别要求时,可设为0。
            newtio.c_cc[VTIME] = 0;
            newtio.c_cc[VMIN] = 0;
      8、处理要写入的引用对象
             tcflush函数刷清(抛弃)输入缓存(终端驱动程序已接收到,但用户程序尚未读)
             或输出缓存(用户程序已写,但尚未发送)。
             int tcflush(int filedes, int queue)
              queue数应当是下列三个常数之一:
              TCIFLUSH 刷清输入队列。
              TCOFLUSH 刷清输出队列。
              TCIOFLUSH 刷清输入、输出队列。
       9、激活配置。在完成配置后,需激活配置使其生效。
             使用tsettattr()函数。原型:
              int tcgetattr(int filedes, struct termios *termptr);
              int tcgetattr(int filedes, int opt, const struct termios * termptr);
               tcsetattr的参数opt使我们可以指定在什么时候新的终端属性才起作用。opt可以指定wei下列常数中的一  个:
              TCSANOW 更改立即发生。
               TCSADRAIN 发送了所有输出后更改才发生。若更改输出参数则应使用此选择项。
               TCSAFLUSH 发送了所有输出后更改才发生。更进一步,在更改发生时未读的宋有输入数据都被删除(刷清)
              使用如:tcsetattr(fd, TCSANOW, &newtio)

打开串口
           f d = open("/dev/ttyS0", O_RDWR|O_NOCTTY|O_NDELAY);

           open函数中除普通参数外,另有两个参数O_NOCTTY和O_NDELAY。
           O_NOCTTY:通知linux系统,这个程序不会成为这个端口的控制终端。
            O_NDELAY:通知linux系统不关心DCD信号线所处的状态(端口的另一端是否激活或者停止)
           然后,恢复串口的状态为阻塞状态,用于等待串口数据的读入。用fcntl函数:
            fcntl(fd, F_SETFEL, 0);

           接着, 测试打开的文件描述符是否引用一个终端设备,以进一步确认串口是否正确打开.
            isatty(STDIN_FILENO);


串口读写
            串口的读写与普通文件的读写是一样的,使用read,write函数。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhanghuiliang/archive/2008/05/21/2467040.aspx

        function escape_array($ar)
        {
                if (is_array ( $ar ))
                {
                        foreach ( $ar as $key => $ar_sub )
                        {
                                $ar [$key] = $this->escape_array ( $ar_sub );
                        }
                }
                else if (is_string ( $ar ))
                {
                        $ar = @mysql_escape_string ( $ar );
                }
                return $ar;
        }

1.
条件: magic_quotes_gpc=off
写入数据库的字符串未经过任何过滤处理。从数据库读出的字符串也未作任何处理。

数据:  $data="snow''''sun" ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:"snow''''sun" 写入数据库,

结果: 出现sql语句错误,mysql不能顺利完成sql语句,写入数据库失败。

数据库保存格式:无数据。

输出数据格式:无数据。

说明: 对于未经处理的单引号在写入数据库时会使sql语句发生错误。


2.
条件: magic_quotes_gpc=off
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。

数据:  $data="snow''''sun" ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:"snow''''sun" 写入数据库,

结果: sql语句顺利执行,数据成功写入数据库

数据库保存格式:snow''''sun (和输入一样)

输出数据格式:snow''''sun (和输入一样)

说明: addslashes()函数将单引号转换为'的转义字符使sql语句成功执行,
但\'并未作为数据存入数据库,数据库保存的是snow'''sun 而并不是我们想象的snowsun


3.
条件: magic_quotes_gpc=on
写入数据库的字符串未经过任何处理。从数据库读出的字符串未作任何处理。

数据:  $data="snow''''sun" ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:"snow''''sun" 写入数据库,

结果: sql语句顺利执行,数据成功写入数据库

数据库保存格式:snow''''sun (和输入一样)

输出数据格式:snow''''sun (和输入一样)

说明: magic_quotes_gpc=on 将单引号转换为'的转义字符使sql语句成功执行,
但\'并未作为数据入数据库,数据库保存的是snow'''sun而并不是我们想象的snowsun。


4.
条件: magic_quotes_gpc=on
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。

数据:  $data="snow''''sun" ; (snow和sun之间是四个连续的单引号).

操作: 将字符串:"snow''''sun" 写入数据库,

结果: sql语句顺利执行,数据成功写入数据库

数据库保存格式:snowsun (添加了转义字符)

输出数据格式:snowsun (添加了转义字符)

说明: magic_quotes_gpc=on 将单引号转换为的转义字符使sql语句成功执行,
addslashes又将即将写入数据库的单引号转换为,后者的转换被作为数据写入
数据库,数据库保存的是snowsun

总结如下:

1. 对于magic_quotes_gpc=on的情况,

我们可以不对输入和输出数据库的字符串数据作
addslashes()和stripslashes()的操作,数据也会正常显示。

如果此时你对输入的数据作了addslashes()处理,
那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。

2. 对于magic_quotes_gpc=off 的情况

必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出
因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

补充:

magic_quotes_gpc 作用范围是:WEB客户服务端;作用时间:请求开始时,例如当脚本运行时.
magic_quotes_runtime 作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;作用时间:每次当脚本访问运行状态中产生的数据
获取网卡名称:


代码:

<?php
/**
        获取机器网卡的物理(MAC)地址
        wwa  $Exp
**/
class GetMacAddr
{
        var $return_array = array(); // 返回带有MAC地址的字串数组
        var $mac_addr;
      
        function GetMacAddr($os_type)
        {
                switch ( strtolower($os_type) )
                {
                        case "linux":
                                $this->forLinux();
                                break;
                        case "solaris":
                                break;
                        case "unix":
                                break;
                        case "aix":
                                break;
                        default:
                                $this->forWindows();
                                break;
                }
              
                $temp_array = array();
                foreach ( $this->return_array as $value )
                {
                        if ( preg_match( "/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i", $value, $temp_array ) )
                        {
                                $this->mac_addr = $temp_array[0];
                                break;
                        }
                }
                unset($temp_array);
                return $this->mac_addr;
        }

        function forWindows()
        {
                @exec("ipconfig /all", $this->return_array);
                if ( $this->return_array )
                        return $this->return_array;
                else{
                        $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";
                        if ( is_file($ipconfig) )
                                @exec($ipconfig." /all", $this->return_array);
                        else
                                @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array);
                        return $this->return_array;
                }
        }

        function forLinux()
        {
                @exec("ifconfig -a", $this->return_array);
                return $this->return_array;
        }
}
?>
<?php
$mac = new GetMacAddr(PHP_OS);
echo $mac->mac_addr;
?>


丰都sns

WEB2.0 jackxiang 2009-6-27 19:27
fd9xs.com

fdsns.com
来源:http://blog.21ic.com/user1/2613/archives/2008/48341.html
这个是单个,先弄懂,然后再弄懂多个,在该链接下面有少量的介绍
Asynchronous Input 异步输入模式

#i nclude <termios.h>    
#i nclude <stdio.h>      
#i nclude <unistd.h>      
#i nclude <fcntl.h>      
#i nclude <sys/signal.h>    
#i nclude <sys/types.h>      
      
#define BAUDRATE B38400      
#define MODEMDEVICE "/dev/ttyS1"      

#define _POSIX_SOURCE 1 /* POSIX compliant source */      
#define FALSE 0      
#define TRUE 1      

volatile int STOP=FALSE;
void signal_handler_IO (int status);   /* definition of signal handler */  
                                     // 定义信号处理程序
int wait_flag=TRUE;                   /* TRUE while no signal received */    
                                    // TRUE 代表没有受到信号,正在等待中  
main()   {        
int fd,c, res;  
struct termios oldtio,newtio;  
struct sigaction saio;        
/* definition of signal action */      
// 定义信号处理的结构
char buf[255];        

/* open the device to be non-blocking (read will return immediatly) */    
// 是用非阻塞模式打开设备 read 函数立刻返回,不会阻塞    
    fd = open(MODEMDEVICE, O_RDWR &#124; O_NOCTTY &#124; O_NONBLOCK);    
    if (fd <0) {perror(MODEMDEVICE); exit(-1); }        

/* install the signal handler before making the device asynchronous */    
    // 在进行设备异步传输前,安装信号处理程序    
    saio.sa_handler = signal_handler_IO;    
saio.sa_mask = 0;  
saio.sa_flags = 0;    
saio.sa_restorer = NULL;    
    sigaction(SIGIO,&saio,NULL);  

/* allow the process to receive SIGIO */
// 允许进程接收 SIGIO 信号      
fcntl(fd, F_SETOWN, getpid());    
    /* Make the file descriptor asynchronous (the manual page says only  
O_APPEND and O_NONBLOCK, will work with F_SETFL...) */  
// 设置串口的文件描述符为异步,man上说,只有 O_APPEND 和 O_NONBLOCK 才能使用F_SETFL
fcntl(fd, F_SETFL, FASYNC);        
tcgetattr(fd,&oldtio); /* save current port settings */  

    /* set new port settings for canonical input processing */  
// 设置新的串口为标准输入模式      
newtio.c_cflag = BAUDRATE &#124; CRTSCTS &#124; CS8 &#124; CLOCAL &#124; CREAD;      
newtio.c_iflag = IGNPAR &#124; ICRNL;    
newtio.c_oflag = 0;      
newtio.c_lflag = ICANON;  
newtio.c_cc[VMIN]=1;    
    newtio.c_cc[VTIME]=0;    
    tcflush(fd, TCIFLUSH);    
tcsetattr(fd,TCSANOW,&newtio);    

/* loop while waiting for input. normally we would do something      
useful here 循环等待输入,通常我们会在这里做些其它的事情 */
while (STOP==FALSE) {      
  printf(".\n");usleep(100000);        
  /* after receiving SIGIO, wait_flag = FALSE, input is availableand can be read */
  // 在收到 SIGIO 信号后,wait_flag = FALSE, 表示有输入进来,可以读取了
  if (wait_flag==FALSE) {        
   res = read(fd,buf,255);    
   buf[res]=0;        
   printf(":%s:%d\n", buf, res);  
   if (res==1) STOP=TRUE; /* stop loop if only a CR was input */    
   wait_flag = TRUE;      /* wait for new input 等待新的输入*/  
       }      
  }      
/* restore old port settings */    
tcsetattr(fd,TCSANOW,&oldtio);  
}            

/***************************************************************************    
* signal handler. sets wait_flag to FALSE, to indicate above loop that    *
* characters have been received.                                          *
***************************************************************************/  

// 信号处理函数,设置 wait_flag 为 FALSE, 以告知上面的循环函数串口收到字符了  
void signal_handler_IO (int status)   {  
printf("received SIGIO signal.\n");    
wait_flag = FALSE;  
}





nslookup查看mx记录:
nslookup -query=mx cntv.cn
Server:         114.114.114.114
Address:        114.114.114.114#53

Non-authoritative answer:
cntv.cn mail exchanger = 10 mxcom.263xmail.com.
cntv.cn mail exchanger = 5 mxwcom.263xmail.com.

------------------------------------------------------------------------------------
nslookup -query=mx "smtp.staff.cntv.cn"
Server:         114.114.114.114
Address:        114.114.114.114#53

Non-authoritative answer:
smtp.staff.cntv.cn      canonical name = smtpcom.263xmail.com.

Authoritative answers can be found from:
263xmail.com
        origin = ns.capital-online.com.cn
        mail addr = root.ns.capital-online.com.cn
        serial = 28436
        refresh = 1800
        retry = 300
        expire = 604800
        minimum = 86400
________________________________________________

Linux windows 通用:
nslookup
set q=mx
163.com


windows下:
nslookup -qmx "163.com"

_______________________________________________

nslookup -query=mx "163.com"
Server:         114.114.114.114
Address:        114.114.114.114#53

Non-authoritative answer:
163.com mail exchanger = 50 163mx00.mxmail.netease.com.
163.com mail exchanger = 10 163mx02.mxmail.netease.com.
163.com mail exchanger = 10 163mx01.mxmail.netease.com.
163.com mail exchanger = 10 163mx03.mxmail.netease.com.

可以看到163.com的MX记录为mx.mail.163.split.netease.com,并且将列出该MX记录对应的IP。
  如果该命令没有返回正确的MX记录或者IP,则有可能是您的网络问题或DNS配置错误造成无法向网易邮箱发信,请先联系您的DNS管理员进行解决。
把2个串口用交叉线连起来,假设两个串口分别为/dev/ttyS0和/dev/ttyS1,则能直接在一个shell执行cat /dev/ttyS0,然后在另外一个shell 执行echo "test." >/dev/ttyS1,如果两个串口都是好的,则执行cat /dev/ttyS0会输出’test."如果不行,则可用cat /proc/interrupts看一下是否产生了中断,也可用setserial查看串口设置。

编者按:2009年是计算机专业考研专业基础课首次实行全国统考,面对今年的改变,想报考计算机专业的考生可能对复习的准备有很多的疑问。为了帮助考生正确的做好准备工作,学赛网研究生院特访问了我国著名的计算机教育专家、湖南师范大学计算机软件与理论/计算机应用技术硕士点专业课试题命题人张友生博士,请张博士对考试大纲进行全面的解析。本文为大纲解析的第四篇:计算机网络知识点分析。

从 2009年起,计算机专业考研实行计算机学科专业基础综合课全国统考,考试内容涵盖数据结构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。试卷内容的结构是:数据结构45分(占30%),计算机组成原理45分(占30%),操作系统35分(占23%),计算机网络25分(占17%)。计算机网络部分分值也占有不小的份额,要求考生以平等的心态去对待。阅读全文
分页: 216/272 第一页 上页 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 下页 最后页 [ 显示模式: 摘要 | 列表 ]