ºìÁªLinuxÃÅ»§
Linux°ïÖú

RTLinux»·¾³Ï´®¿ÚÊý¾ÝµÄ½ÓÊÕÓë·¢ËÍ

·¢²¼Ê±¼ä:2008-02-27 00:35:09À´Ô´:ºìÁª×÷Õß:gobeta
¡¡¡¡RTLinuxÌṩ¼¸¸öÖ÷ÒªµÄ´®¿ÚAPIº¯Êý

¡¡¡¡(1)void rt_com_setup(unsigned int com,unsigned baud,unsigned parity,unsigned stopbits,unsigned wordlength)

¡¡¡¡ÆäÖÐcomÊÇ´®¿ÚÔÚrt_com_tableÖеÄϱꣻbaudÊǶ˿ڹ¤×÷µÄ²¨ÌØÂÊ£»parityΪ¶Ë¿ÚµÄÆæżУÑé²ßÂÔ£¬¿ÉÑ¡µÄÖµÓÐRT_COM_PARITY_EVEN,RT_COM_PARITY_NONE,RT_COM_PARITY_ODD,ÕâЩ¶¼¶¨ÒåÔÚrt_com.hÖС£ÔÚʹÓÃCOM¿ÚͨÐÅ֮ǰ£¬Ó¦ÏÈʹÓÃЩº¯Êý¶ÔÆä½øÐÐÉèÖá£

¡¡¡¡(2)int rt_com_read(unsigned int com,char *ptr,int cnt);

¡¡¡¡´Ëº¯Êý¹¦ÄÜΪ½«´®¿ÚºÅΪ"com"µÄ´®¿ÚÖеÄÊý¾Ý¶ÁÈëµ½ptrÖ¸ÕëÖ¸ÏòµÄÒ»¸öÊý¾ÝÇøÖУ¬cntΪ×î¶à¶ÁÈëµÄ×Ö·ûÊý£¬¸Ãº¯Êý·µ»Øʵ¼Ê¶ÁÈëµÄ×Ö·ûÊý¡£

¡¡¡¡(3)void rt_com_write(unsigned int com,char *ptr,int cnt)

¡¡¡¡´Ëº¯Êý¹¦ÄÜΪ½«ptrÖ¸ÕëÖ¸ÏòµÄÒ»¸öÊý¾ÝÇøÖеÄÊý¾ÝдÈëµ½´®¿ÚºÅΪ"com"µÄ´®¿ÚÖУ¬²¢´ò¿ª´«Êä¿ØÖÆ¡£cntΪ×î¶àдÈëµÄ×Ö·ûÊý£¬¸Ãº¯Êý·µ»Øʵ¼ÊдÈëµÄ×Ö·ûÊý¡£

¡¡¡¡ÒÔÉÏÁ½¸ö¶Áдº¯Êý¾ùÊǶԵײãÓ²¼þÖжϵķâ×°¡£ÆäÖжϴ¦Àíº¯Êý¶¨ÒåÔÚrt_com.oÖС£

¡¡¡¡Æä´®¿ÚͨѶĬÈϲÉÓõÄÊÇÂÖѯµÄ»úÖÆ£¬¿ÉÄÜ»áÔÚÒ»¶¨³Ì¶ÈÉÏÓ°ÏìϵͳµÄʵʱÐÔÄÜ¡£¿ÉÒÔͨ¹ýÐ޸Ŀڴ®¿ÚÇý¶¯³ÌÐòʵÏÖÖжϴ¥·¢·½Ê½¡£Ë¼Â·ÈçÏ£º

¡¡¡¡Ïȵ÷ÓÃrt_com_setupº¯ÊýÉèÖô®¿Ú£¬È»ºóÓÃrt_free_irq(irq)ɾ³ýRTLinuxÖзâ×°µÄ´®¿ÚÖжϴ¦Àí³ÌÐòrt_com1_isr()£¬ÔÙÀûÓÃrtl_request_irq(irq,user_com1_handler);°²×°Óû§¶¨ÒåµÄ´®¿Ú1µÄÖжϴ¦Àí³ÌÐòuser_com1_handler¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ