ÈÕÆÚ£º2018-08-30
±¾Îĵµ½éÉÜѸΪRS485Ä£¿é²âÊÔÀý³Ì£¬Í¨¹ýioctl¿ØÖÆÄ£¿éÊý¾Ý´«Êä·½ÏòµÄʱ¼ä¼ä¸ôÐÞ¸Ä ·½·¨¡£
ÊÊÓÃѸΪiTOP-4412¿ª·¢°åØ4418¿ª·¢°åØ6818¿ª·¢°åØIMX6¿ª·¢°å
±¾ÎĵµÒÔ iTOP-4412 ¿ª·¢°åµÄ RS485 Ä£¿éΪÀý£¬ÆäËüϵÁпª·¢°å RS485 Ä£¿éÔÚµ×°å ÉÏ£¬Ó²¼þÔÀíºÍÇý¶¯´úÂëÊÇһģһÑùµÄ¡£ÈçÏÂͼËùʾ£¬´®¿Úת RS485 µÄÄ£¿éΪ ¡°SN65HVD3082¡±£¬pin2 ºÍ pin3 ¹Ü½Å£¬ÓÃÓÚ¿ØÖÆ RS485 ·¢ËͺͽÓÊյķ½Ïò¡£

ÔÚ RS485 µÄ C ²âÊÔÀý³ÌÖУ¬ioctl ¿ØÖÆµÄ RS485 É豸½ÚµãΪ¡°/dev/max485_ctl_pin¡± É豸½Úµã¸³ÖµµÄ´úÂëΪ:
É豸½Úµã¸³ÖµµÄ´úÂëΪ:char *max485_ctl = "/dev/max485_ctl_pin";
ÈçÏÂͼËùʾ£¬º¯Êý¡°prepare_to_send¡±ºÍ¡°prepare_to_recv¡±£¬RS485 Ä£¿éÔÚ×¼±¸·¢ ËͺͽÓÊÕÊý¾Ýǰ£¬¶¼ÐèÒªµ÷ÓöÔÓ¦µÄ·¢ËÍ×¼±¸º¯ÊýºÍ½ÓÊÕ×¼±¸º¯Êý£¬ÆäÖпØÖÆ·¢ËͺͽÓÊյģ¬ ¾ÍÊÇ RS485 Ä£¿é¡°SN65HVD3082¡±µÄ pin2 ºÍ pin3 ¹Ü½Å£¬¿ØÖÆ pin2 ºÍ pin3 µÄ¸ßµÍ¾Í¿ÉÒÔ ¿ØÖÆ·½Ïò¡£
Èç¹ûÓû§×Ô¼º¸üРRS485 µÄÓ¦ÓóÌÐò£¬»á·¢ÏÖÕâ¸ö¹Ü½Å¸ßµÍµçƽÇл»×îÉÙÐèÒª 100ms£¬ ²»ÄܶÌÓÚÕâ¸öʱ¼ä¡£

ioctl º¯Êý¾ÍÉæ¼°µ½ RS485 Çý¶¯£¬RS485 Ä£¿éµÄÇý¶¯ÊÇÄÚºËÔ´ÂëÏ嵀 ¡°drivers/char/max485_ctl.c¡±Îļþ¡£RS485 Çý¶¯ÎļþÖУ¬ioctl Ïà¹Ø´úÂëÈçÏÂËùʾ¡£


ÈçÉÏ´úÂëËùʾ£¬ºìÉ«²¿·ÖÊǵ¼ÖÂÉϲãÓ¦Óõ÷Óà ioctl ¼ä¸ôÖÁÉÙ 100ms£¬Ó²¼þ¹Ü½Å¸ßµÍÇл» ÖÁÉÙΪ 100ms µÄÔÒò¡£
Èç¹ûÓû§Çл»Êý¾Ý·¢ËͺͽÓÊÕµÄ״̬ÉÙÓÚ 100ms£¬¿ÉÒÔ½«Æä mdelay(100);×¢ÊÍ£¬È»ºóÖØ бàÒëÄں˾µÏñÉÕдµ½¿ª·¢°å¡£µ«ÊÇÇëÎñ±Ø×¢ÒâµÄÊÇ£¬·¢ËͺͽÓÊÕÖ®¼äÇл»µÄʱºò£¬ÇëÎñ±ØÔÚ Ó¦ÓóÌÐòÖиù¾Ýʵ¼ÊÇé¿ö¸øÒ»¶¨µÄÑÓʱ£¬ÑÓʱµÄ´óС£¬Óû§ÐèÒª¸ù¾Ý×Ô¼ºÊµ¼ÊÓ¦ÓÃÀ´µ÷Õû£¬·ñ Ôò»á³öÏÖ¶ªÊý¾ÝµÄÇé¿ö¡£