È»¶ø£¬¿ª·¢Õß»òϵͳ¹ÜÀíÔ±ÔÚʹÓô®¿Úʱ£¬¾³£»áÓöµ½¡°´®¿Ú±»Õ¼Óá±µÄÎÊÌ⣬Õâ²»½öÓ°ÏìÁ˹¤×÷ЧÂÊ£¬»¹¿ÉÄܵ¼ÖÂÏîÄ¿ÑÓÆÚ»òϵͳ²»Îȶ¨
±¾ÎÄÖ¼ÔÚÉîÈë̽ÌÖLinux´®¿Ú±»Õ¼ÓõÄÔÒò¡¢Ó°Ïì¼°ÌṩһϵÁиßЧ½â¾ö·½°¸£¬°ïÖú¶ÁÕß¿ìËÙ¶¨Î»ÎÊÌâ²¢»Ö¸´´®¿ÚµÄÕý³£Ê¹ÓÃ
Ò»¡¢´®¿Ú±»Õ¼ÓõÄÏÖÏóÓëÓ°Ïì ÏÖÏóÃèÊö£º µ±³¢ÊÔ´ò¿ª»òÅäÖÃÒ»¸ö´®¿ÚÉ豸£¨Èç`/dev/ttyS0`¡¢`/dev/ttyUSB0`µÈ£©Ê±£¬ÏµÍ³¿ÉÄܻ᷵»Ø´íÎóÐÅÏ¢£¬Ìáʾ´®¿ÚÒѱ»Õ¼ÓÃ
³£¼ûµÄ´íÎóÐÅÏ¢°üÀ¨¡°Device or resource busy¡±¡¢¡°Cannot open device¡±µÈ
´Ëʱ£¬¼´±ãÖØÆôϵͳ£¬ÎÊÌâÓÐʱÈԻḴÏÖ£¬ÑÏÖØÓ°Ï쿪·¢½ø³Ì»òÉ豸¼äµÄͨÐÅ
Ó°Ïì·ÖÎö£º 1.¿ª·¢Ð§ÂÊÊÜ×裺¶ÔÓÚǶÈëʽ¿ª·¢Õß¶øÑÔ£¬´®¿ÚÊǵ÷ÊÔ³ÌÐòµÄÖØÒª¹¤¾ß
´®¿Ú±»Õ¼ÓÃÒâζ×ÅÎÞ·¨ÊµÊ±²é¿´É豸Êä³ö£¬ÑÓ³¤ÁËÎÊÌⶨλºÍ½â¾öµÄʱ¼ä
2.ϵͳÎȶ¨ÐÔϽµ£ºÈç¹û´®¿Ú±»Ä³¸öÒì³£½ø³Ì³ÖÐøÕ¼Ó㬿ÉÄܵ¼ÖÂÆäËûÒÀÀµ¸Ã´®¿ÚµÄϵͳ·þÎñ»òÓ¦ÓóÌÐòÎÞ·¨Õý³£ÔËÐУ¬½ø¶øÓ°ÏìÕû¸öϵͳµÄÎȶ¨ÐÔ
3.Êý¾Ý¶ªÊ§ÓëͨÐÅÖжϣºÔÚʵʱÊý¾Ý´«ÊäϵͳÖУ¬´®¿Ú±»Õ¼ÓûᵼÖÂÊý¾ÝÎÞ·¨Õý³£·¢ËÍ»ò½ÓÊÕ£¬Ôì³ÉÊý¾Ý¶ªÊ§»òͨÐÅÖжϣ¬¶ÔÓÚÒÀÀµ¿É¿¿Í¨ÐŵÄÓ¦Óó¡¾°À´Ëµ£¬ÕâÊÇÔÖÄÑÐÔµÄ
¶þ¡¢´®¿Ú±»Õ¼ÓõÄÔÒò·ÖÎö 1. ½ø³ÌÕ¼Ó㺠LinuxϵͳÖУ¬Èκδò¿ªµÄÎļþ£¨°üÀ¨É豸Îļþ£©¶¼»áÓɲÙ×÷ϵͳά»¤Ò»¸öÎļþÃèÊö·û
Èç¹ûij¸ö½ø³ÌÒѾ´ò¿ªÁË´®¿Ú£¬²¢ÇÒûÓÐÕýÈ·¹Ø±Õ£¬ÄÇôÆäËû½ø³Ì¾ÍÎÞ·¨ÔÙ·ÃÎʸô®¿Ú
³£¼ûµÄÇé¿ö°üÀ¨£º - ½ø³ÌÒì³£ÖÕÖ¹£¬Î´ÊÍ·Å´®¿Ú×ÊÔ´
- ºǫ́·þÎñ»òÊØ»¤½ø³Ì³ÖÐøÕ¼Óô®¿Ú
- Óû§³ÌÐòÍü¼ÇÔÚ½áÊøÊ±¹Ø±Õ´®¿Ú
2. Çý¶¯³ÌÐò³åÍ»£º LinuxÖ§³Ö¶àÖÖ´®¿ÚÇý¶¯³ÌÐò£¬Èç±ê×¼µÄ8250/16550 UARTÇý¶¯¡¢USBת´®¿ÚÇý¶¯µÈ
Èç¹ûϵͳÖдæÔÚÇý¶¯³åÍ»»ò´íÎóÅäÖã¬Ò²¿ÉÄܵ¼Ö´®¿Ú±»´íÎ󵨱ê¼ÇΪռÓÃ״̬
3. Ó²¼þ¹ÊÕÏ£º ËäÈ»½ÏÉÙ¼û£¬µ«Ó²¼þ¹ÊÕÏ£¨Èç´®¿ÚоƬË𻵡¢USB½Ó¿ÚÎÊÌ⣩Ҳ¿ÉÄܵ¼ÖÂϵͳÎ󱨴®¿Ú±»Õ¼ÓÃ
4. ȨÏÞÎÊÌ⣺ ÔÚLinuxÖУ¬·ÃÎÊ´®¿ÚÉ豸ͨ³£ÐèÒªÌØ¶¨µÄȨÏÞ
Èç¹ûµ±Ç°Óû§Ã»ÓÐ×ã¹»µÄȨÏÞ£¬ÏµÍ³¿ÉÄÜ»á¾Ü¾ø·ÃÎÊ£¬´íÎ󵨱íÏÖΪ´®¿Ú±»Õ¼ÓÃ
Èý¡¢¸ßЧ½â¾ö·½°¸ 1. ¼ì²é²¢ÖÕÖ¹Õ¼Óýø³Ì£º - ʹÓÃlsofÃüÁ`lsof -i /dev/ttyS0`£¨Ì滻Ϊʵ¼Ê´®¿ÚÉ豸£©¿ÉÒÔÁгöËùÓÐʹÓøô®¿ÚµÄ½ø³Ì
- ʹÓÃfuserÃüÁ`fuser -m /dev/ttyS0`»áÏÔʾռÓøÃÉ豸µÄ½ø³ÌID
- ÖÕÖ¹½ø³Ì£º¸ù¾ÝÕÒµ½µÄ½ø³ÌID£¬Ê¹ÓÃkillÃüÁîÖÕÖ¹½ø³Ì
×¢Ò⣬ÖÕֹϵͳ¹Ø¼ü½ø³Ì¿ÉÄܵ¼ÖÂϵͳ²»Îȶ¨£¬Ðè½÷É÷²Ù×÷
2. ¼ì²é²¢µ÷Õû´®¿ÚÅäÖ㺠- ÐÞ¸Ä/etc/inittab»òsystemd·þÎñ£ºÈ·±£Ã»ÓзþÎñÔÚÆô¶¯