×î½üÔÚ¹«Ë¾ÈÃÓÃC#дһ¸ö´®¿Úµ÷ÊԵŤ¾ß£¬ÒªÇóÏò´®¿ÚÖÐÊäÈë16½øÖÆÊý¾Ý»ò×Ö·û´®¡£ÏÂÃæÎÒ½«Õâ´ÎÓöµ½µÄÎÊÌâºÍ½â¾ö·½·¨·îÏ׳öÀ´£¬Ä¿µÄÊǺÍͬÐн»Á÷£¬»ØÀ¡ÍøÓÑÃÇÌṩµÄ°ïÖú£¬Ò²ÊÇΪÁË×Ô¼º¶Ô֪ʶ¼ÓÉîһϹ®¹Ì¡£
ÎÒÃÇÀ´¿´¾ßÌåµÄʵÏÖ²½Öè¡£
¹«Ë¾ÒªÇóʵÏÖÒÔϼ¸¸ö¹¦ÄÜ£º
1£©£ºÊµÏÖÁ½Ì¨¼ÆËã»ú֮ǰµÄ´®¿ÚͨÐÅ£¬ÒÔ16½øÖÆÐÎʽºÍ×Ö·û´®Á½ÖÖÐÎʽ´«ËͺͽÓÊÕ¡£
2£©£º¸ù¾ÝÐèÒªÉèÖô®¿ÚͨÐŵıØÒª²ÎÊý¡£ 3£©£º¶¨Ê±·¢ËÍÊý¾Ý¡£ 4£©£º±£´æ´®¿ÚÉèÖá£
¿´×źÃÏñͦ¸´ÔÓ£¬Æäʵ¶¼ÊÇÖ½ÀÏ»¢£¬Ò»´Á¾ÍÆÆ£¬Ç°ÌáÊÇÄã¸ÒÈ¥´Á¡£ÎÒ¾¡Á¿½²µÄÏêϸһЩ£¬Õùȡ˵µ½Ã¿¸ö֪ʶµã¡£
ÔÚ±àд³ÌÐòǰ£¬ÐèÒª½«ÄãÒª²âÊÔµÄCOM¿Ú¶Ì½Ó£¬¾ÍÊÇÊÕ·¢ÐÅÏ¢¶¼ÔÚ±¾µØ¼ÆËã»ú£¬¶Ì½ÓµÄ·½Ê½Êǽ«COM¿ÚµÄ2¡¢3ºÅÕë½ÓÆðÀ´¡£COM¿Ú¸÷ÕëµÄ¾ßÌå×÷Ó㬶ÈÄïÊÇÕâô˵µÄ£ºCOM¿Ú¡£¼Çס2¡¢3ÕëÁ¬½ÓÒ»¶¨ÒªÁ¬½ÓÀι̣¬ÎÒ¾ÍÊÇÒòΪ½Ó´¥²»Á¼£¬µ¼Ö±¾Éí¾Í²»Í¨£¬°×°×»¨µôÁËÒ»´ó°ëÌìʱ¼äµ÷ÊÔ´úÂë¡£
ÏÂÃæ¸ø³öÖ÷ÒªµÄ²Ù×÷½çÃæ£¬ÈçÏ£º
˳±ã£¬ÎÒ½«ËùÓпؼþ¶ÔÓ¦µÄ´úÂëÃû×ÖÒ²¸½ÉÏÁË£¬ÏàÐŶԳõѧÕßÀ´Ëµ£¬ÔÙ¿´ÏÂÃæµÄ´úÂë»áÇáËɺܶࡣ¿Ø¼þÃû×ÖÃüÃûµÄ·½·¨ÊÇ¡°¿Ø¼þÃû+×÷Óá±µÄÐÎʽ£¬ÀýÈç¡°´ò¿ª´®¿Ú¡±µÄ¿ª¹Ø°´Å¥£¬ÆäÃû×ÖÊÇbtnSwitch £¨btn¾ÍÊÇbuttonµÄ¼òдÁË£©¡£ÎÒÈÏΪÕâÖÖÃüÃû¿Ø¼þµÄ·½Ê½±È½ÏºÃ£¬½¨Òé´ó¼ÒʹÓã¬Èç¹ûÄãÓкõÄÃüÃû·½Ê½£¬Ï£ÍûÄãÄܸæËßÎÒ£¡
ÏÂÃæÎÒÃǽ«¸÷¸ö¹¦Äܰ´ÕÕ´ÓÖ÷µ½´ÎµÄ˳ÐòÖð¸öʵÏÖ¡££¨ÎÒ·Ö¿é¸ø³ö´úÂëʵÏÖ£¬Ïêϸ´úÂë¼ûÁ´½Ó£º¡¶C#´®¿ÚͨÐŹ¤¾ß¡·£©
Ò»¡¢»ñÈ¡¼ÆËã»úµÄCOM¿Ú×ܸöÊý£¬½«ËüÃÇÁÐΪ¿Ø¼þcbSerialµÄºòÑ¡Ï²¢½«µÚÒ»¸öÉèΪcbSerialµÄĬÈÏÑ¡Ïî¡£ Õⲿ·ÖÊÇÔÚ´°Ìå¼ÓÔØÊ±Íê³ÉµÄ¡£Çë¿´´úÂ룺
£¨ºÜ¶àÐÅÏ¢´úÂëµÄ×¢ÊÍÀï½²µÄºÜÇå³þ£¬ÎҾͲ»×¸ÊöÁË¡££©
[csharp] view plaincopyprint?
1. //¼ì²éÊÇ·ñº¬Óд®¿Ú
2. string[] str = SerialPort.GetPortNames(); 3. if (str == null) 4. {
5. MessageBox.Show(\±¾»úûÓд®¿Ú£¡\ 6. return; 7. } 8.
9. //Ìí¼Ó´®¿ÚÏîÄ¿
10. foreach (string s in System.IO.Ports.SerialPort.GetPortNames()) 11. {//»ñÈ¡ÓжàÉÙ¸öCOM¿Ú 12. cbSerial.Items.Add(s); 13. } 14.
15. //´®¿ÚÉèÖÃĬÈÏÑ¡ÔñÏî
16. cbSerial.SelectedIndex = 0; //ÉèÖÃ
¶þ¡¢¡°´®¿ÚÉèÖá±
ÕâÃæÎÒû´úÂë±à³Ì£¬Ö±½Ó´Ó´°ÌåÉϰ´ÕÕ´®¿ÚÐÅÏ¢ÉèÖþÍÐС£ÎÒÃǽöÉèÖÃËüÃǵÄĬÈÏÑ¡Ïµ«ÕâÀïÎÒÓõ½ÁËiniÎļþ£¬ÔÝʱ²»½²£¬ÎÒÃÇÏÈÒÔÏÂÃæÐÎʽÉèÖÃĬÈÏ¡£
[csharp] view plaincopyprint?
1. cbBaudRate.SelectedIndex = 5; 2. cbDataBits.SelectedIndex = 3; 3. cbStop.SelectedIndex = 0; 4. cbParity.SelectedIndex = 0;
5. radio1.Checked = true; //·¢ËÍÊý¾ÝµÄ¡°16½øÖÆ¡±µ¥Ñ¡°´Å¥£¨ÕâÀïÎÒÍüÁ˸ÄÃû£¬ÏÖÔÚ¿´×źܲ»Êæ·þ£¡£© 6. rbRcvStr.Checked = true;
Èý¡¢´ò¿ª´®¿Ú
ÔÚ·¢ËÍÐÅϢ֮ǰ£¬ÎÒÃÇÐèÒª¸ù¾ÝÑ¡ÖеÄÑ¡ÏîÉèÖô®¿ÚÐÅÏ¢£¬²¢ÉèÖÃһЩ¿Ø¼þµÄÊôÐÔ£¬×îºó½«´®¿Ú´ò¿ª¡£
[csharp] view plaincopyprint?
1. private void btnSwitch_Click(object sender, EventArgs e) 2. {
3. 8. //ÉèÖô®¿ÚºÅ 9. string serialName = cbSerial.SelectedItem.ToString(); 10. sp1.PortName = serialName; 11. 12. //ÉèÖø÷¡°´®¿ÚÉèÖá± 13. string strBaudRate = cbBaudRate.Text; 14. string strDateBits = cbDataBits.Text; 15. string strStopBits = cbStop.Text; 16. Int32 iBaudRate = Convert.ToInt32(strBaudRate); 17. Int32 iDateBits = Convert.ToInt32(strDateBits); 18. 19. sp1.BaudRate = iBaudRate; //²¨ÌØÂÊ 20. sp1.DataBits = iDateBits; //Êý¾Ýλ 21. switch (cbStop.Text) //ֹͣλ 22. { 23. case \ 24. sp1.StopBits = StopBits.One; 25. break; 26. case \ 27. sp1.StopBits = StopBits.OnePointFive; 28. break; 29. case \ 30. sp1.StopBits = StopBits.Two; 31. break; 32. default: 33. MessageBox.Show(\£º²ÎÊý²»ÕýÈ·!\ 34. break; SerialPort sp1 = new SerialPort();
Ïà¹ØÍÆ¼ö£º