wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10767|回復: 7
打印 上一主題 下一主題
收起左側

單片機串口通訊收發數據C#上位機界面顯示出來

  [復制鏈接]
跳轉到指定樓層
樓主
ID:540742 發表于 2019-5-17 15:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如果,翻看我之前的博客,會找到一篇用I/O模擬IIC通信的程序文章。好吧,如果找不到可以點擊這里,這里就不在贅述了,系統也已經完全調試通過了。
今天的任務是,把測試得到的數據在上位機的界面上顯示出來,于是鍵盤手花了兩天的時間模仿著巨人的肩膀通過了用C#編寫的界面程序,界面很簡單就像下面顯示的一樣。
下面就一步一步給大伙展示一下我的程序吧。
C#非常的強大而且友好,串口的通信可以通過編程環境(這里我用的是Visual Studio 2010),如果有需要的話可以給我信息,我有完整版的安裝包。如下圖,簡單的調用和選擇就完成了串口的基本配置。
下面主要就是編程的問題了,在窗體Load的進程中可以完成串口的啟動

而后就是讀取數據的操作,這時候用到事件
1 private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
在這個事件里面編程就可以了,但是在對窗體內文本進行操作的時候會發現出現了線程的沖突和錯誤。網上給出的一種解決方法是采用代理的方式具體的程序如下:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.IO.Ports;
  11. using System.Net.Http;
  12. using System.Collections;

  13. namespace SerialPortDataUploader
  14. {
  15.     public partial class Form1 : Form
  16.     {
  17.         public Form1()
  18.         {
  19.             InitializeComponent();
  20.         }

  21.         private void comboBoxSerialPort_SelectedIndexChanged(object sender, EventArgs e)
  22.         {
  23.             serialPort1.PortName = comboBoxSerialPort.Items[comboBoxSerialPort.SelectedIndex].ToString();
  24.         }

  25.         private void comboBoxSerialPort_MouseClick(object sender, MouseEventArgs e)
  26.         {
  27.             comboBoxSerialPort.Items.Clear();
  28.             comboBoxSerialPort.Items.AddRange(SerialPort.GetPortNames());
  29.         }

  30.         private void listBoxLog_SelectedIndexChanged(object sender, EventArgs e)
  31.         {
  32.             if (listBoxLog.SelectedItem != null)
  33.                 textBoxLog.Text = listBoxLog.SelectedItem.ToString();
  34.         }

  35.         Queue<char> DataQueue = new Queue<char>();
  36.         volatile private int lightZ = 50, tempZ = 28, wetZ = 30;
  37.         volatile private int lightX = 50, tempX = 28, wetX = 30;
  38.         volatile private int lightL = 50, tempL = 28, wetL = 30;

  39.         private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
  40.         {
  41.             char[] tmp = new char[1000];
  42.             int count = serialPort1.BytesToRead;
  43.             serialPort1.Read(tmp, 0, count);
  44.             for (int i = 0; i < count; i++)
  45.                 DataQueue.Enqueue(tmp[i]);

  46.             while (DataQueue.Count >= 11)
  47.             {
  48.                 switch (DataQueue.Peek())
  49.                 {
  50.                     case 'z':
  51.                     case 'l':
  52.                     case 'x':
  53.                         {
  54.                             char[] tmp1 = new char[100];
  55.                             for (int i = 0; i < 11; i++)
  56.                                 tmp1[i] = DataQueue.Dequeue();
  57.                             try
  58.                             {
  59.                                 int light = (tmp1[2] - 0x30) * 10 + (tmp1[3] - 0x30);
  60.                                 int temp = (tmp1[5] - 0x30) * 10 + (tmp1[6] - 0x30);
  61.                                 int wet = (tmp1[8] - 0x30) * 10 + (tmp1[9] - 0x30);
  62.                                 switch (tmp1[0])
  63.                                 {
  64.                                     case 'z': lightZ = light; tempZ = temp; wetZ = wet; break;
  65.                                     case 'x': lightX = light; tempX = temp; wetX = wet; break;
  66.                                     case 'l': lightL = light; tempL = temp; wetL = wet; break;
  67.                                 }
  68.                             }
  69.                             catch (Exception) { }
  70.                             break;
  71.                         }
  72.                     default:
  73.                         DataQueue.Dequeue();
  74.                         break;
  75.                 }
  76.             }
  77.         }

  78.         private void Form1_Load(object sender, EventArgs e)
  79.         {
  80.             comboBoxSerialPort.Items.Clear();
  81.             comboBoxSerialPort.Items.AddRange(SerialPort.GetPortNames());
  82.         }

  83.         private void buttonConnect_Click(object sender, EventArgs e)
  84.         {
  85.             serialPort1.Open();
  86.             buttonConnect.Enabled = false;
  87.             comboBoxSerialPort.Enabled = false;
  88.             labelStatu.ForeColor = Color.Green;
  89.             timer1.Start();
  90.         }
  91.         private string HTTPGet(string url)
  92.         {
  93.             using (var client = new HttpClient())
  94.             {
  95.                 var responseString = client.GetStringAsync(url);
  96.                 return responseString.Result;
  97.             }
  98.         }
  99.         private async Task<string> HTTPPost(string url, Dictionary<string, string> values)
  100.         {
  101.             using (var client = new HttpClient())
  102.             {
  103.                 var content = new FormUrlEncodedContent(values);

  104.                 var response = await client.PostAsync(url, content);

  105.                 var responseString = await response.Content.ReadAsStringAsync();
  106.                 return responseString.ToString();
  107.             }
  108.         }

  109.         delegate void listBoxLogAddMessage_Callback(string mwssage);
  110.         private void listBoxLogAddMessage(string message)
  111.         {
  112.             if (listBoxLog.InvokeRequired)
  113.             {
  114.                 listBoxLogAddMessage_Callback d = new listBoxLogAddMessage_Callback(listBoxLogAddMessage);
  115.                 this.Invoke(d, new object[] { message });
  116.             }
  117.             else
  118.             {
  119.                 listBoxLog.Items.Add(message);
  120.                 listBoxLog.SelectedIndex = listBoxLog.Items.Count - 1;
  121.             }
  122.         }

  123.         bool Timer1Flag = false;
  124.         int timer = 0, TimeSet = 5;
  125.         private void timer1_Tick(object sender, EventArgs e)
  126.         {
  127.             timer++;
  128.             if (Timer1Flag)
  129.                 return;
  130.             string tmp = HTTPGet(BaseURL + "API.aspx?api=contralget1");
  131.             try
  132.             {
  133.                 TimeSet = int.Parse(tmp);
  134.             }
  135.             catch (Exception) { }
  136.             if (TimeSet > 0 && timer >= TimeSet)
  137.             {
  138.                 timer -= TimeSet;
  139.                 Timer1Flag = true;
  140.                 try
  141.                 {
  142.                     string url = BaseURL + "API.aspx?api=upload&lightZ={LIGHTZ}&lightX={LIGHTX}&lightL={LIGHTL}&tempZ={TEMPZ}&tempX={TEMPX}&tempL={TEMPL}&wetZ={WETZ}&wetX={WETX}&wetL={WETL}".Replace("{LIGHTZ}", lightZ.ToString()).Replace("{LIGHTX}", lightX.ToString());
  143.                     url = url.Replace("{LIGHTL}", lightL.ToString()).Replace("{TEMPZ}", tempZ.ToString()).Replace("{TEMPX}", tempX.ToString()).Replace("{TEMPL}", tempL.ToString()).Replace("{WETZ}", wetZ.ToString()).Replace("{WETX}", wetX.ToString()).Replace("{WETL}", wetL.ToString());

  144.                     string message = HTTPGet(url);
  145.                     if (!message.Equals("{\"statu\":\"ok\"}"))
  146.                         listBoxLogAddMessage(DateTime.Now.ToString() + "  服務器返回異常:" + message);
  147.                     else
  148.                         listBoxLogAddMessage(DateTime.Now.ToString() + "  已上傳至服務器。");
  149.                 }
  150.                 catch (Exception ext)
  151.                 {
  152.                     listBoxLogAddMessage(DateTime.Now.ToString() + "  上傳至服務器失敗:" + ext.Message);
  153.                 }
  154.                 Timer1Flag = false;
  155.             }
  156.         }
  157.     }
  158. }
復制代碼
全部資料51hei下載地址:
EngineeringPractice20171_ServerAndUploader-master.zip (28.48 KB, 下載次數: 252)

評分

參與人數 2黑幣 +55 收起 理由
醬大錘 + 5 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:440747 發表于 2019-5-31 17:15 | 只看該作者
謝謝分享 好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:540397 發表于 2019-7-24 09:39 | 只看該作者
不錯
回復

使用道具 舉報

無效樓層,該帖已經被刪除
5#
ID:642557 發表于 2019-11-15 13:05 | 只看該作者
謝謝分享
回復

使用道具 舉報

6#
無效樓層,該帖已經被刪除
7#
無效樓層,該帖已經被刪除
8#
ID:916468 發表于 2021-5-6 16:58 | 只看該作者
樓主可以發一下安裝包給大家嗎?
回復

使用道具 舉報

9#
無效樓層,該帖已經被刪除
10#
無效樓層,該帖已經被刪除
11#
無效樓層,該帖已經被刪除
12#
ID:731836 發表于 2023-8-1 18:25 | 只看該作者
下載的文件和展示的文件是2個不同的,各位要下載的注意下,不是上面文檔介紹的溫濕度!!!
回復

使用道具 舉報

13#
ID:1075678 發表于 2023-11-14 21:39 | 只看該作者
感謝樓主分享,最近要做項目剛好要學習使用
回復

使用道具 舉報

14#
ID:353115 發表于 2023-11-27 09:16 | 只看該作者
愛學習的小菜 發表于 2023-11-14 21:39
感謝樓主分享,最近要做項目剛好要學習使用

STC-ISP軟件有將數據接收到文件的功能,你可以試一下。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
国产精品入口麻豆九色| 美女喷水网站| 亚洲九九九在线观看| 麻豆国产一区二区三区四区| 国产精品白浆流出视频| 亚洲自拍偷拍一区二区| 日韩中文字幕网址| 久久久一区二区三区| 超碰成人福利| 久草在线看片| 中文字幕一区2区3区| 一级在线免费视频| 17婷婷久久www| 午夜精品久久久久久久蜜桃app| 欧美xxx在线观看| 看黄网站在线观看| 青青国产视频| 精品国产一区二区三区日日嗨| 91黄色免费看| 精品影院一区二区久久久| 69堂精品视频在线播放| 免费av片风间由美在线| 99er热精品视频| 香港三级日本三级| 日韩视频在线观看视频| 91av视频在线| 亚洲精品www久久久| 国产精品短视频| 极品少妇一区二区三区| 激情开心成人网| 三上悠亚一区| 男女爱爱网站| 国产在线成人精品午夜| 免费看a级黄色片| 91黄色精品| 精品一区二区三区电影| 欧美综合色免费| 欧美激情综合在线| 国产日韩专区| 国产精品主播在线观看| 性欧美video高清bbw| 先锋av资源网| 精品人妻少妇AV无码专区| 日韩乱码人妻无码中文字幕久久| 免费cad大片在线观看| 国产伦精品一区二区三区精品视频| 精品久久人人做人人爱| 最新不卡av在线| 青娱乐精品视频| 天堂俺去俺来也www久久婷婷| 天堂8中文在线| av成人手机在线| 色啪免费观看视频| 99热这里只有精品1| 国产suv精品一区二区33| 熟女人妻在线视频| 日韩av片专区| www国产免费| 91欧美精品成人综合在线观看| 日韩在线观看网站| 欧美精品九九99久久| 国产午夜亚洲精品午夜鲁丝片| 99日韩精品| 精品影片在线观看的网站| 国模套图日韩精品一区二区| 国产在线超碰| jizz18欧美| 夜夜嗨yeyeh| 天天摸天天碰天天爽天天弄| 亚洲欧美偷拍视频| 全黄一级裸体片| 国产精品久久国产精品99gif| 亚洲精品av在线播放| 精品国精品自拍自在线| 亚洲成年人影院在线| 欧美日韩在线免费观看| 国产欧美日韩综合| 国产精品美女www爽爽爽| 国产精品毛片高清在线完整版| 国产精品久久久久一区二区三区 | 99热这里精品| 天堂网在线中文| 2018中文字幕在线观看| 欧美最猛性xxxx免费| 亚洲三级 欧美三级| 久久这里只精品| 欧美96在线丨欧| 日本在线视频一区二区| 免费一级欧美在线观看视频| 免费在线毛片网站| 在线免费中文字幕| 久草香蕉在线| 国产91中文| 中文字幕在线久热精品| 亚洲欧美另类一区| 国产丝袜视频在线观看| 黄色www视频| 麻豆国产高清在线播放| 亚洲色婷婷综合开心网| 精品欧美在线观看| 一二三四视频在线社区中文字幕2| 欧美成人禁片在线观看网址| 亚洲午夜网未来影院| 国产精品伦一区二区三区视频| 天天色天天草| www.av99| 妞干网福利视频| 青青操在线观看| 香港日本韩国三级| 麻豆影院在线| 成人一级视频| 99热这里有精品| 丰满少妇一区| 国产欧美久久一区二区三区| 欧美精品一二| 天天综合一区| 国产精品久久久久蜜臀| 性色一区二区三区| 久久天堂精品| 日本人妖一区二区| 91麻豆6部合集magnet| 久久伊人蜜桃av一区二区| 一区二区三区四区高清精品免费观看 | 国产又粗又猛大又黄又爽| 亚洲娇小娇小娇小| 中文字幕免费高清| 亚洲ⅴ国产v天堂a无码二区| 在线观看亚洲大片短视频| 成人免费a视频| 亚洲怡红院av| 天天操天天干天天| 五月亚洲综合| 欧美人与牲禽动交com| av人人综合网| 日韩在线观看不卡| 欧美日韩性在线观看| 精一区二区三区| 亚洲猫色日本管| 精品久久香蕉国产线看观看gif| 色综合色狠狠天天综合色| 欧洲一区二区三区免费视频| 国产亚洲欧美日韩一区二区| 欧美日韩成人在线播放| 日本中文字幕不卡免费| 岛国视频一区免费观看| 一区二区不卡视频| 欧美 日韩精品| 精品无码人妻少妇久久久久久| 毛片aaaaaa| 性猛交富婆╳xxx乱大交天津 | 农村少妇一区二区三区四区五区| 99re66热这里只有精品8| 国产亚洲激情| 亚洲欧美电影一区二区| 亚洲石原莉奈一区二区在线观看| 91午夜理伦私人影院| 久久精品午夜福利| 亚洲午夜久久久久久久久红桃| 久久久久亚洲视频| 日本欧美色图| 国产精品影院在线| 国产精品毛片久久久久久久久久99999999 | 成人永久免费视频| 一区二区三区中文字幕| 亚洲一区二区精品| 国产自产在线视频一区| 欧美精品一区二区三区三州| 波多野结衣中文字幕在线播放| 91狠狠综合久久久| www.热久久| 九草视频在线观看| 久草在线综合| 免费xxxx性欧美18vr| 国产精品无人区| 91精品久久久久久久久99蜜臂| 九九热99久久久国产盗摄| 日韩视频在线播放| 欧美激情a在线| 国产精品久久久久av| 5月婷婷6月丁香| 亚洲毛片亚洲毛片亚洲毛片| 久久久999久久久| 国产剧情av片巨作醉酒女邻居 | 热久久国产精品| 欧美亚洲一区二区在线| 美女性感视频久久久| 国产一区免费在线观看| 捆绑裸体绳奴bdsm亚洲| 2012中文字幕在线视频| 国产网红女主播精品视频| 国产一区三区在线播放| 国产精品午夜免费| 欧美成人午夜激情在线| 国产一区二区三区乱码| 一本色道综合久久欧美日韩精品 | 国产视频在线看| 亚洲91视频| 91麻豆精品秘密| 在线丨暗呦小u女国产精品| 91av在线视频观看| 男女污污的视频| 亚洲精品无码专区| 中文字幕在线播放第一页| 丝袜av一区| 中文字幕制服丝袜一区二区三区| 欧美日本黄视频| 国产福利一区视频| 国产高潮流白浆喷水视频| 91福利免费| 色愁久久久久久| 亚洲欧美日韩国产成人精品影院| 国产亚洲激情视频在线| 中文字幕第一页亚洲| 毛片在线免费视频| 在线观看中文字幕| 欧美亚洲色图校园春色| 亚洲欧洲国产日韩| 国产成人福利视频| 国产又黄又大又粗视频| 久久综合成人网| 轻轻操 在线观看| 欧美黄色一级| 中文字幕亚洲一区二区av在线| 欧美亚洲国产成人精品| 日本久久久精品视频| 国产喷水吹潮视频www| 97超碰在线公开在线看免费| 亚洲最大av| 亚洲一区二区视频| 91成人在线观看国产| aaaaa黄色片| 国产精品免费视频二三区| 香蕉成人app| 91香蕉视频在线| 亚洲免费影视第一页| 一本一道久久a久久综合精品| 久久riav| 波多野吉衣中文字幕| 成年网站视频| 国产成年精品| 成人av在线影院| 亚洲视频在线视频| 国产淫片av片久久久久久| 一区二区三区四区在线不卡高清 | 狠狠热免费视频| 日韩欧美黄色片| 北条麻妃在线一区二区免费播放 | 99这里只有精品| 伊人青青综合网站| www.激情小说.com| 亚洲第一第二区| 欧美人体一区二区三区| 欧美国产欧美综合| 爱情岛论坛亚洲入口| 精品无码在线视频| 69国产精品视频| 亚洲精华国产欧美| 欧美丰满高潮xxxx喷水动漫| 国产 国语对白 露脸| 熟妇人妻中文av无码| 久久伊人精品| 日本久久电影网| 日韩亚洲欧美一区二区| 亚洲欧美日韩成人网| 亚洲性视频大全| 婷婷中文字幕综合| 日韩一区二区三区资源| 国产高清精品软件丝瓜软件| 自拍偷拍亚洲| 91黄色在线观看| 九九爱精品视频| 一分钟免费观看视频播放www| 91精品电影| 中文字幕在线看视频国产欧美| 日韩精品xxx| 高清视频在线www色| 一区二区亚洲| 久久国内精品一国内精品| 日本女优爱爱视频| 好好的日comwww| 翔田千里一区二区| 97婷婷涩涩精品一区| 国产成人精品综合久久久| 国产精品理论在线| 午夜视频成人| 国产综合久久久久影院| 久久人人爽人人爽爽久久| 免费黄色在线视频| 午夜伦理在线| 中文字幕视频一区二区三区久| 五码日韩精品一区二区三区视频| 精品久久久久久久久久久国产字幕 | 人妻精品一区一区三区蜜桃91| 在线看的毛片| 国产日韩在线不卡| 欧美日韩喷水| 国产乱淫a∨片免费视频| 欧美13videosex性极品| 成人黄色在线视频| 成人激情av| 日韩在线视频观看免费| 日韩av自拍| 亚洲国产日韩欧美在线图片| 99久久综合网| 国产免费av在线| 中文字幕一区视频| 蜜桃视频一区二区在线观看| 狠狠狠狠狠狠操| 国内精品国产三级国产a久久| 亚洲综合中文字幕在线观看| 日韩av在线天堂| 都市激情久久综合| 欧美午夜在线播放| 欧美一级一区二区| 欧美婷婷精品激情| 中文字字幕在线中文乱码电影| 成人国产精品免费观看动漫| 精品不卡一区二区三区| 久久99精品国产麻豆不卡| 97人人干人人| 在线播放一区二区精品产| 亚洲精品美女| 91九色精品视频| 最近免费中文字幕在线第一页 | 污污的网站18| 狠狠色伊人亚洲综合网站l| 中文字幕在线不卡| 无遮挡又爽又刺激的视频| 午夜成人影视| 成人免费视频网站在线观看| 国产精品xxx在线观看www| 久久全国免费久久青青小草| 亚洲精品四区| 成人免费自拍视频| 亚洲在线精品视频| 成人在线视频免费观看| 国产一区二区三区在线视频| 日韩影院一区二区| 美足av综合网| 欧美日韩久久久| 天天综合网日韩| 中文日本在线观看| 欧美性xxxxx| 日韩免费高清在线| 国产视频第一区| 狠狠久久五月精品中文字幕| 国产精品日日摸夜夜爽| 国产黄在线看| 色噜噜久久综合| 真实乱视频国产免费观看| 欧美激情不卡| 日韩在线观看免费高清完整版| 黄色大全在线观看| 欧美freesex交免费视频| 成人黄色av免费在线观看| 麻豆精品国产自产在线| 成人禁用看黄a在线| 欧美日韩一道本| 超碰在线影院| 亚洲高清视频中文字幕| 日韩欧美精品在线观看视频| av影片免费在线观看| 欧美日韩一区二区三区在线| 丰满饥渴老女人hd| 97人澡人人添人人爽欧美| 亚洲激情在线视频| 国产一区二区视频免费| 欧美午夜不卡影院在线观看完整版免费 | 成人妖精视频yjsp地址| 18禁网站免费无遮挡无码中文 | 一个人在线观看免费视频www| 91在线视频观看| 国产自偷自偷免费一区| 搞黄网站在线看| 亚洲性无码av在线| 一级片在线观看视频| 波多野结衣在线播放一区| 国产美女久久久| 一个人免费观看在线视频www| 国产女同性恋一区二区| 樱花草www在线| 中文字幕在线观看播放| 精品成人一区二区三区四区| 在线观看日韩羞羞视频| 国产hs免费高清在线观看| 久久综合成人精品亚洲另类欧美| 国产精品视频黄色| 亚洲欧洲美洲av| 欧美精品生活片| 欧美另类videos粗暴黑人| 久久亚洲一级片| 久久发布国产伦子伦精品| 国产电影一区| 国产精品久久久久久久久| 九色自拍视频| 精品女同一区二区三区在线播放| 国产黄色小视频网站| 欧洲在线一区| 91在线在线观看| 尤物视频免费在线观看|