LinuxÏ´®¿Ú±à³ÌÖ®¶þ£º¶Á´®¿ÚºÍд´®¿Ú
1£¬´ò¿ª´®¿Ú
/**´ò¿ª´®¿Ú£¬dev ´®¿ÚÉ豸Ãû£¬ mode ´ò¿ª·½Ê½£¬**/
int opendev(char *dev,mode_t mode)
{
int fd;
fd = open(dev, mode);
if (-1 == fd){
perror("Can't Open Serial Port");
return -1;
}
else{
fcntl(fd, F_SETFL, FNDELAY);
return fd;
}
}
2£¬Ð´´®¿Ú
#define FALSE -1
#define TRUE 0
#define NET_PORT 19988
#define MAX_BUF_SIZE 4096
struct net2net_buf{
int len;
char buf[MAX_BUF_SIZE];
};
#define RSDEV_NAME "/dev/ttyS1"
int main(void)
{
int rsfd = 0;
int nwrite;
char input_buf[64];
rsfd = opendev(RSDEV_NAME,O_RDWR | O_NOCTTY |
Ïà¹ØÎĵµ£º
ºÜ¾ÃûÓÐд¼¼Êõ²©ÎÄÁË£¬´ÓÕâÀ↑ʼÎÒµÄÑо¿ÉúÉúÑÄ£¬×ªÑÛ¾ÍÒªÔÚÖ°³¡ÉÏÑø¼Òºý¿Ú£¬Éú»îÕæµÄ²»ÈÝÒ×£¬ÐҺû¹Óм¼ÊõÏà°éΪÎé¡£
ÓÉÓÚ¹¤×÷µÄ¹ØÏµ£¬ÖÕÓÚ½Ó´¥µ½linuxÍøÂçºÍkernelµÄ±à³Ì£¬×ÜÌåÀ´Ëµ×ÜÊÇÒ»¸öºÃµÄÆõ»ú¡£ÈÃÎÒÄܹ»ÉîÈë²Ù×÷ϵͳÄںˡ£×ö¹ýÒ»¶Îʱ¼äµÄÓû§³ÌÐòµÄ¿ª·¢£¬×ÜÊÇÔÚWindowsƽ̨ÉÏ£¬ÖÕÓÚÓлú»áÔÚlinuxÉÏ×öµã¶«Î÷£¬»¹Ê ......
UnixÖеĺ¯ÊýselectºÍpollÓÃÀ´£¬Ö§³ÖUnixÖÐI/O¸´ÓõŦÄÜ£¬ÔÚUnixÖÐI/OÄ£ÐÍ¿ÉÒÔ·ÖΪÒÔÒ»¼¸ÖÖ£º
£¨1£©×èÈûI/O
£¨2£©·Ç×èÈûI/O
£¨3£©I/O¸´Óã¨selectºÍpoll£©
£¨4£©ÐźÅÇý¶¯I/O(SIGIO)
£¨5£©Òì²½I/O
ÆäÖУ¬ÏÖÔڱȽÏÁ÷ÐеÄI/OÄ£ÐÍÊÇ×èÈûI/OÄ£ÐÍ.×èÈûI/OÊǵ±Ó¦ÓóÌÐòºÍÄں˽»»»Êý¾Ýʱ£¬ÓÉÓÚÄں˻¹Ã»ÓÐ×¼±¸ºÃ ......
ÔÚLinuxÖУ¬Èç¹ûÒªÈýø³ÌÔÚºǫ́ÔËÐУ¬Ò»°ãÇé¿öÏ£¬ÎÒÃÇÔÚÃüÁîºóÃæ¼ÓÉÏ&¼´¿É£¬Êµ¼ÊÉÏ£¬ÕâÑùÊǽ«ÃüÁî·ÅÈëµ½Ò»¸ö×÷Òµ¶ÓÁÐÖÐÁË£º
[root@localhost /]# ./test.sh &
[1] 17208
È»ºóÎÒÃǾͿÉÒÔÓÃÒÔÏÂÃüÁî½øÐв鿴£º
[root@localhost /]# jobs -l
[1] 17208 Running ./test.sh &
¶ÔÓÚÒѾÔÚǰִ̨ÐеÄÃüÁî ......
±¾ÎÄÖ÷ÒªÄÚÈÝÊǽéÉÜODBCµÄ¼òµ¥ÔÀí£¬ÒÔ¼°ÈçºÎÔÚLinux/UnixϽøÐÐODBCµÄ°²×°¡¢ÅäÖÃÓë±à³Ì¡£
ODBCÔÀí
ODBC
ÊÇOpen Database Connect ¼´¿ª·ÅÊý¾Ý¿â»¥Á¬µÄ¼ò³Æ£¬ËüÊÇÓÉMicrosoft ¹«Ë¾ÓÚ1991
ÄêÌá³öµÄÒ»¸öÓÃÓÚ·ÃÎÊÊý¾Ý¿âµÄͳһ½çÃæ±ê×¼£¬ÊÇÓ¦ÓóÌÐòºÍÊý¾Ý¿âϵͳ֮¼äµÄÖмä¼þ¡£Ëüͨ¹ýʹÓÃÏàÓ¦Ó¦ÓÃÆ½Ì¨ÉϺÍËùÐèÊý¾Ý¿â¶ÔÓ¦µÄÇý ......
1¡¢LINUXÏÂTTY¡¢CONSOLE¡¢´®¿ÚÖ®¼äÊÇÔõÑùµÄ²ã´Î¹ØÏµ£¿¾ßÌåµÄº¯Êý½Ó¿ÚÊÇÔõÑùµÄ£¿´®¿ÚÊÇÈçºÎ±»µ÷Óõģ¿
ttyºÍconsoleÕâЩ¸ÅÄîÖ÷ÒªÊÇһЩÐéÄâÉ豸µÄ¸ÅÄ¶ø´®¿Ú¸ü¶àµÄÊÇÖ¸Ò»¸öÕæÕýµÄÉ豸Çý¶¯¡£Ttyʵ¼ÊÊÇÒ»ÀàÖÕ¶ËI/OÉ豸µÄ³éÏó£¬Ëüʵ¼ÊÉϸü¶àµÄÊÇÒ»¸ö¹ÜÀíµÄ¸ÅÄĿµÄÊÇÏòÉϲãµÄVFSÌṩ ......