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
Ïà¹ØÎĵµ£º
°²×°£¬Éý¼¶ºÍÐ¶ÔØÓ¦ÓÃÈí¼þÊÇÓ°ÏìÓû§¶Ô²Ù×÷ϵͳÆÀ¼ÛµÄ¾ö¶¨ÐÔÒòËØÖ®Ò»¡£¶ÔÓÚÈÕ½¥Á÷ÐÐµÄ GNU/Linux ²Ù×÷ϵͳ£¬ÓµÓмò½àÇ¿´óµÄÈí¼þ°ü¹ÜÀí»úÖÆ¹¦²»¿Éû¡£±¾ÎÄ´Ó»ù±¾µÄ rpm/dpkg ÃüÁîÐгö·¢£¬ÒÔ RHEL ºÍ Ubuntu
ΪÀý£¬½éÉܵäÐÍ Linux ϵͳÖÐÓ¦ÓÃÈí¼þµÄ¹ÜÀíºÍʹÓá£
RPM/DPKG Á½´óÕóÓª¼ò½é
ÔÚ GNU/Linux( ÒÔϼò³Æ Linux) ²Ù× ......
ÔÚLinuxÖУ¬Èç¹ûÒªÈýø³ÌÔÚºǫ́ÔËÐУ¬Ò»°ãÇé¿öÏ£¬ÎÒÃÇÔÚÃüÁîºóÃæ¼ÓÉÏ&¼´¿É£¬Êµ¼ÊÉÏ£¬ÕâÑùÊǽ«ÃüÁî·ÅÈëµ½Ò»¸ö×÷Òµ¶ÓÁÐÖÐÁË£º
[root@localhost /]# ./test.sh &
[1] 17208
È»ºóÎÒÃǾͿÉÒÔÓÃÒÔÏÂÃüÁî½øÐв鿴£º
[root@localhost /]# jobs -l
[1] 17208 Running ./test.sh &
¶ÔÓÚÒѾÔÚǰִ̨ÐеÄÃüÁî ......
ÏÂÃæÕâ¸öÀý×ÓÁгöÁËËùÓÐϵͳ¶¨ÒåµÄ´íÎó´úÂë¼°´íÎóÃèÊö
Ô´´úÂëÊÇ£º
/************¹ØÓÚ±¾Îĵµ********************************************
*filename: strerror.c
*purpose: ÁгöÁËϵͳ¶¨ÒåµÄËùÓдíÎó´úÂë¼°ÃèÊö
*wrote by: zhoulifa(zhoulifa@163.com) ÖÜÁ¢·¢(http://zhoulifa.bokee.com)
Linux°®ºÃÕß Linux֪ʶ´«²¥ ......
ÄÚºËÆô¶¯µÄÏÖÔÚÒѾÊÇ¿ªÊ¼Ö´Ðк¯Êýstart_kernelº¯ÊýÁË¡£start_kernelº¯ÊýÔÚinit/main.cÖж¨Òå¡£start_kernelº¯ÊýÖ»ÊÇÍê³É
ÏàÓ¦µÄ½á¹¹µÄ³õʼ»¯ÈÎÎñ¡£
printk(KERN_NOTICE);
printk(linux_banner);
setup_arch(&command_line);
ÔÚubootµÄÒ»Ö±¹ý³ÌÖУ¬uboo ......
1. Íù/libºÍ/usr/libÀïÃæ¼Ó¶«Î÷£¬ÊDz»ÓÃÐÞ¸Ä/etc/ld.so.confµÄ£¬µ«ÊÇÍêÁËÖ®ºóÒªµ÷Ò»ÏÂldconfig£¬²»È»Õâ¸ölibrary»áÕÒ²»µ½
2. ÏëÍùÉÏÃæÁ½¸öĿ¼ÒÔÍâ¼Ó¶«Î÷µÄʱºò£¬Ò»¶¨ÒªÐÞ¸Ä/etc/ld.so.conf£¬È»ºóÔÙµ÷ÓÃldconfig£¬²»È»Ò²»áÕÒ²»µ½
±ÈÈç°²×°ÁËÒ»¸ömysqlµ½/usr/local/mysql£¬mysqlÓÐÒ»´ó¶ÑlibraryÔÚ/usr/local/mysql/libÏÂÃæ ......