LinuxÏ´®¿Ú±à³ÌÖ®Ò»£º»ù´¡ÉèÖú¯Êý
1£¬´®¿Ú²Ù×÷ÐèÒªµÄÍ·Îļþ
¡¡¡¡#include¡¡¡¡ <stdio.h>¡¡¡¡¡¡/* ±ê×¼ÊäÈëÊä³ö¶¨Òå */
¡¡¡¡#include¡¡¡¡ <stdlib.h>¡¡¡¡ /* ±ê×¼º¯Êý¿â¶¨Òå */
¡¡¡¡#include¡¡¡¡ <unistd.h>¡¡¡¡ /* Unix ±ê×¼º¯Êý¶¨Òå */
¡¡¡¡#include¡¡¡¡ <sys/types.h>¡¡
¡¡¡¡#include¡¡¡¡ <sys/stat.h>¡¡
¡¡¡¡#include¡¡¡¡ <fcntl.h>¡¡¡¡¡¡/* Îļþ¿ØÖƶ¨Òå */
¡¡¡¡#include¡¡¡¡ <termios.h>¡¡¡¡/*ÖÕ¶Ë¿ØÖƶ¨Òå */
¡¡¡¡#include¡¡¡¡ <errno.h>¡¡¡¡¡¡/* ´íÎóºÅ¶¨Òå */
2£¬´ò¿ª´®¿Ú
¡¡¡¡ÔÚ Linux Ï´®¿ÚÎļþÊÇλÓÚ/devϵġ£´®¿ÚһΪ/dev/ttyS0£¬´®¿Ú¶þΪ/dev/ttyS1¡£´ò¿ª´®¿ÚÊÇͨ¹ýʹÓñê×¼µÄÎļþ´ò¿ªº¯Êý²Ù×÷£º ¡¡¡¡ int fd;¡¡¡¡/* ÒÔ¶Áд·½Ê½´ò¿ª´®¿Ú */
¡¡¡¡fd = open( "/dev/ttyS0",O_RDWR);
¡¡¡¡if (-1 == fd)
¡¡¡¡{ ¡¡
¡¡¡¡¡¡¡¡perror(" Ìáʾ´íÎó£¡"); /* ²»ÄÜ´ò¿ª´®¿ÚÒ» */
¡¡¡¡}
3£¬´®¿Ú½á¹¹Ìå¼°²ÎÊý
´®¿ÚµÄÉèÖÃÖ÷ÒªÊÇÉèÖà struct termios ½á¹¹ÌåµÄ¸÷³ÉÔ±Öµ¡£
¡¡struct termio
¡¡¡¡{
¡¡¡¡¡¡¡¡unsigned short¡¡c_iflag;¡¡¡¡¡¡¡¡/* ÊäÈëģʽ±êÖ¾ */¡¡
¡¡¡¡¡¡¡¡unsigned short¡¡c_oflag;¡¡¡¡¡¡¡¡/* Êä³öģʽ±êÖ¾ */¡¡
¡¡¡¡¡¡¡¡unsigned short¡¡c_cflag;¡¡¡¡¡¡¡¡/* ¿ØÖÆÄ£Ê½±êÖ¾ */¡¡
¡¡¡¡¡¡¡¡unsigned short¡¡c_lflag;¡¡¡¡¡¡¡¡/* local mode flags */¡¡
¡¡¡¡¡¡¡¡unsigned char¡¡ c_line;¡¡¡¡¡¡¡¡ /* line discipline */¡¡
¡¡¡¡¡¡¡¡unsigned char¡¡ c_cc[NCC];¡¡¡¡¡¡/* control characters */
¡¡¡¡};
ÔÚÕâ¸ö½á¹¹ÖÐ×îÎªÖØÒªµÄÊÇc_cflag£¬Í¨¹ý¶ÔËüµÄ¸³Öµ£¬Óû§¿ÉÒÔÉèÖò¨ÌØÂÊ¡¢×Ö·û´óС¡¢ Êý¾Ýλ¡¢Í£Ö¹Î»¡¢ÆæÅ¼Ð£ÑéλºÍÓ²¼þÁ÷¿ØµÈ¡£ÁíÍâc_iflag ºÍc_cc Ò²ÊDZȽϳ£ÓõıêÖ¾¡£ÔÚ´ËÖ÷Òª¶ÔÕâ3 ¸ö³ÉÔ±½øÐÐÏêϸ˵Ã÷¡£
£¨1£©c_cflagÖ§³ÖµÄ³£Á¿Ãû³Æ
CBAUD ²¨ÌØÂʵÄλÑÚÂë
B0 0²¨ÌØÂÊ£¨·ÅÆúDTR£©
B1800 1800²¨ÌØÂÊ
B2400 2400²¨ÌØÂÊ
&nbs
Ïà¹ØÎĵµ£º
1. Workqueue
WorkqueueµÄÃû×־ͺÍËûµÄ¹¦ÄÜÒ»Ñù£ºÐèÒª´¦ÀíµÄ¹¤×÷ÁбíºÍ¹¤×÷µÄÌí¼Óɾ³ý£¨Ã²ËÆÃ»Óп´µ½ÈçºÎɾ³ýµÄ£©¡¢ÒÔ¼°¹¤×÷µÄµ÷¶ÈÖ´ÐС£
ÐèÒª´¦ÀíµÄ¹¤×÷Áбíͨ³£¶¼Î¬»¤ÔÚÄں˶ÔÏóworkqueue_structÀïÃæ¡£ÏµÍ³ÀïÃæ¿ÉÒÔÓжà¸öworkqueue_struct¡£ ......
ÔÚ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 ......
ÔÚlinuxÏÂͨ¹ýsvn¸üÐÂÁËÒ»¸öphpÎļþ£¬Ä¿µÄÊÇÏëͨ¹ýÖ´ÐÐÕâ¸öÎļþÀ´¶ÁÊý¾Ý²åÈëµ½Êý¾Ý¿â¡£ÔÚÆäÖеļ¸Ì¨Ö´ÐÐûÓÐÎÊÌ⣬ÆäÖÐһ̨¾Í·¢ÏÖÁËCould not open input fileÕâ¸ö´íÎ󣬺óÀ´²éÕÒ×ÊÁϲŷ¢ÏÖÔÀ´ÊÇÎļþ¸ñʽµÄÎÊÌ⣬³ö´íʱÎļþ¸ñʽÊÇdos£¬¿ÉÒÔÔÚviÖÐÓÃ:set ffÀ´²é¿´£¬Èç¹ûÊÇdos¸ñʽ£¬ÄÇôÔòÓÃ:set ff=unixÀ´ÉèÖÃеĸñʽ£¬ÕâÑ ......
°²×°³ÌÐòËùÐèÒªµÄ¹²Ïí¿âʱÐèҪעÒâµÄÎÊÌâ¡£
ÆðÒò£º°²×°libsqlite3.so.0 ºó£¬Ê¹ÓÃldd test ʱ£¬È´ÕÒ²»µ½¸Ã¿âÎļþ¡£
ÔÚʹÓÃcpptest¶ÔÔ³ÌÐòÔËÐе¥Ôª²âÊÔʱ£¬·¢ÏÖ´íÎ󣬼´ÕÒ²»µ½¿âÎļþ¡£
°²×°Íêlibsqlite3.so.0ºó£¬ÆäÊÇ´æ´¢ÔÚusr/local/libµÄ¡£ËùÒÔÎÊÌâÔÚÓÚ£¬linuxϵÄ×°ÔØ³ÌÐò ......