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 |
Ïà¹ØÎĵµ£º
°²×°£¬Éý¼¶ºÍÐ¶ÔØÓ¦ÓÃÈí¼þÊÇÓ°ÏìÓû§¶Ô²Ù×÷ϵͳÆÀ¼ÛµÄ¾ö¶¨ÐÔÒòËØÖ®Ò»¡£¶ÔÓÚÈÕ½¥Á÷ÐÐµÄ GNU/Linux ²Ù×÷ϵͳ£¬ÓµÓмò½àÇ¿´óµÄÈí¼þ°ü¹ÜÀí»úÖÆ¹¦²»¿Éû¡£±¾ÎÄ´Ó»ù±¾µÄ rpm/dpkg ÃüÁîÐгö·¢£¬ÒÔ RHEL ºÍ Ubuntu
ΪÀý£¬½éÉܵäÐÍ Linux ϵͳÖÐÓ¦ÓÃÈí¼þµÄ¹ÜÀíºÍʹÓá£
RPM/DPKG Á½´óÕóÓª¼ò½é
ÔÚ GNU/Linux( ÒÔϼò³Æ 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 &
¶ÔÓÚÒѾÔÚǰִ̨ÐеÄÃüÁî ......
< type="text/javascript"><!--
google_ad_client = "pub-3936520987820628";
//250x250, ´´½¨ÓÚ 07-12-28
google_ad_slot = "5080959190";
google_ad_width = 250;
google_ad_height = 250;
//-->
< src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javasc ......
1£¬´®¿Ú²Ù×÷ÐèÒªµÄÍ·Îļþ
¡¡¡¡#include¡¡¡¡ <stdio.h>¡¡¡¡¡¡/* ±ê×¼ÊäÈëÊä³ö¶¨Òå */
¡¡¡¡#include¡¡¡¡ <stdlib.h>¡¡¡¡ /* ±ê×¼º¯Êý¿â¶¨Òå */
¡¡¡¡#include¡¡¡¡ <unistd.h>¡¡¡¡ /* Unix ±ê×¼º¯Êý¶¨Òå */
¡¡¡¡#include¡¡¡¡ <sys/types.h>¡¡
¡¡¡¡#include¡¡¡¡ <sys/stat.h>¡¡
¡¡¡¡#incl ......