最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)連接電子秤串口自動(dòng)稱重

 更新時(shí)間:2022年04月27日 11:24:58   作者:農(nóng)碼一生  
這篇文章介紹了C#實(shí)現(xiàn)連接電子秤串口自動(dòng)稱重的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、界面設(shè)計(jì)

二、核心代碼

        private SerialPort com;
        private void FormCheck_Load(object sender, EventArgs e)
        {
            //初始化COMList
            initCOMList();     
        }

        #region
        private void initCOMList()
        {
            ManageCOM com = new ManageCOM();
            List<string> s = com.AutoGetCOM();

            string[] comNames = s.ToArray();
            comboxCOM.Items.Clear();
            comboxCOM.Items.Add("請(qǐng)選擇COM");
            comboxCOM.SelectedIndex = 0;
            foreach (string portName in comNames)
            {
                //添加COM口到界面下拉框
                comboxCOM.Items.Add(portName);
            }
        }
        #endregion

        private void btnStart_Click(object sender, EventArgs e)
        {

            getWeightfromCOM();
        }

        #region
        private void getWeightfromCOM()
        {
            int selectIndex= comboxCOM.SelectedIndex;

            if (selectIndex!=0)
            {
                string COM = comboxCOM.Items[selectIndex].ToString();

                com = new SerialPort(COM);       //實(shí)例化SerialPort并設(shè)置COM口
                com.BaudRate = 9600;//波特率
                com.Parity = Parity.None;//無(wú)奇偶校驗(yàn)位
                com.StopBits = StopBits.Two;//兩個(gè)停止位
                com.Handshake = Handshake.RequestToSend;//控制協(xié)議
                com.ReceivedBytesThreshold = 13;//設(shè)置 DataReceived 事件發(fā)生前內(nèi)部輸入緩沖區(qū)中的字節(jié)數(shù),我這里是13字節(jié)為一組
                com.Open();                 //打開(kāi)串口  
                com.DataReceived += new SerialDataReceivedEventHandler(Com_DataReceived);           //接受數(shù)據(jù)線程
            }
            else
            {
                MessageBox.Show("請(qǐng)選擇COM");
            }
            
        }

        /// <summary>
        /// 監(jiān)聽(tīng)串口數(shù)據(jù)線程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Com_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            Thread.Sleep(500);//線程休眠500毫秒,方便接收串口的全部數(shù)據(jù)
            try
            {
                if (com.IsOpen)
                {
                    byte[] readBuffer = new byte[com.ReadBufferSize + 1];
                    try
                    {
                        int count = com.Read(readBuffer, 0, com.ReadBufferSize);        //讀取串口數(shù)據(jù)(監(jiān)聽(tīng))
                        String SerialIn = System.Text.Encoding.ASCII.GetString(readBuffer, 0, count);//將字節(jié)數(shù)組解碼為字符串
                        if (count != 0)
                        {
                            //這里強(qiáng)調(diào)一下,線程里不可以直接對(duì)UI進(jìn)行賦值,只能使用委托操作控件
                            this.BeginInvoke(new System.Threading.ThreadStart(delegate ()
                            {
                                rbResult.Text = SerialIn;
                            }));

                        }
                    }
                    catch (TimeoutException) { }
                }
                else
                {
                    TimeSpan waitTime = new TimeSpan(0, 0, 0, 0, 50);
                    Thread.Sleep(waitTime);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        #endregion

到此這篇關(guān)于C#實(shí)現(xiàn)連接電子秤串口自動(dòng)稱重的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#數(shù)據(jù)結(jié)構(gòu)之單鏈表(LinkList)實(shí)例詳解

    C#數(shù)據(jù)結(jié)構(gòu)之單鏈表(LinkList)實(shí)例詳解

    這篇文章主要介紹了C#數(shù)據(jù)結(jié)構(gòu)之單鏈表(LinkList)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了單鏈表的原理、定義與C#具體實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • C#多線程之Semaphore用法詳解

    C#多線程之Semaphore用法詳解

    這篇文章主要為大家詳細(xì)介紹了C#多線程之Semaphore用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • c#定期刪除文件的實(shí)操方法

    c#定期刪除文件的實(shí)操方法

    在本篇文章里小編給大家分享了關(guān)于c#定期刪除文件的方法和步驟,有需要的朋友們可以學(xué)習(xí)下。
    2019-02-02
  • 深入理解C#中的枚舉

    深入理解C#中的枚舉

    本篇文章主要是對(duì)C#中的枚舉進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-01-01
  • Unity UI實(shí)現(xiàn)循環(huán)播放序列圖

    Unity UI實(shí)現(xiàn)循環(huán)播放序列圖

    這篇文章主要為大家詳細(xì)介紹了Unity UI實(shí)現(xiàn)循環(huán)播放序列圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C#身份證驗(yàn)證小例子

    C#身份證驗(yàn)證小例子

    C#身份證驗(yàn)證小例子,需要的朋友可以參考一下
    2013-04-04
  • C#?WPF實(shí)現(xiàn)播放音頻文件的示例詳解

    C#?WPF實(shí)現(xiàn)播放音頻文件的示例詳解

    這篇文章主要為大家詳細(xì)介紹了利用C#?WPF實(shí)現(xiàn)播放音頻文件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • C# 線程同步的方法

    C# 線程同步的方法

    這篇文章主要介紹了C# 線程同步的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • 淺析C#中不同格式請(qǐng)求的區(qū)別

    淺析C#中不同格式請(qǐng)求的區(qū)別

    form-data?請(qǐng)求和?x-www-form-urlencoded?請(qǐng)求是兩種常見(jiàn)的?HTTP?請(qǐng)求體格式,這篇文章主要為大家詳細(xì)介紹了二者的區(qū)別與應(yīng)用,希望對(duì)大家有所幫助
    2023-08-08
  • Task提高異步執(zhí)行效率技巧

    Task提高異步執(zhí)行效率技巧

    這篇文章介紹了Task提高異步執(zhí)行效率的技巧,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04

最新評(píng)論

开原市| 正定县| 滨州市| 瓦房店市| 洞头县| 龙江县| 大荔县| 新乡市| 富源县| 通化市| 河南省| 金华市| 正阳县| 吴忠市| 怀集县| 兴和县| 新沂市| 象山县| 万安县| 开化县| 平阳县| 淮安市| 旺苍县| 桐柏县| 印江| 磴口县| 大英县| 巴中市| 竹溪县| 随州市| 武强县| 惠安县| 上虞市| 平凉市| 兴仁县| 海丰县| 凌源市| 天峨县| 呼玛县| 湘西| 浦北县|