色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Visual Studio 2019 +STM32實(shí)現(xiàn)串口通訊

Q4MP_gh_c472c21 ? 來(lái)源:21ic資深壇友劉東君 ? 作者:21ic資深壇友劉東君 ? 2021-03-26 14:05 ? 次閱讀

1.下載 免費(fèi)版 Visual Studio 2019 并進(jìn)行安裝visualstudio.microsoft.com/zh-hans/

daadf568-8dcb-11eb-8b86-12bb97331649.png

2.雙擊軟件創(chuàng)建項(xiàng)目

daebd6b2-8dcb-11eb-8b86-12bb97331649.png

3.選擇Windows窗體應(yīng)用程序(.NET Framework)創(chuàng)建項(xiàng)目。

db06d14c-8dcb-11eb-8b86-12bb97331649.png

4.項(xiàng)目創(chuàng)建完成,初始界面。

dba655c8-8dcb-11eb-8b86-12bb97331649.png

5.選擇左側(cè)的工具欄,選擇 組件,然后雙擊 串口組件將串口添加進(jìn)入項(xiàng)目。

dccc68ac-8dcb-11eb-8b86-12bb97331649.png

6.點(diǎn)擊鼠標(biāo)右鍵,修改串口模塊的屬性,包括 波特率等,本實(shí)驗(yàn)采用默認(rèn)。

dcfc2790-8dcb-11eb-8b86-12bb97331649.png

7.雙擊串口模塊,添加數(shù)據(jù)接收中斷函數(shù)

dd496316-8dcb-11eb-8b86-12bb97331649.png

8.添加按鈕模塊,控制STM32開(kāi)發(fā)板LED燈的亮滅。

dd83a774-8dcb-11eb-8b86-12bb97331649.png

9.好的現(xiàn)在基本界面與模塊添加完成,開(kāi)始寫(xiě)程序,添加程序各種變量:

//串口通訊命令 public static byte[] SendOrder = new byte[3] { 0x5A,0x00, 0xA5 }; //中間為命令,頭尾為校驗(yàn) 00 關(guān)燈 01開(kāi)燈 02關(guān)蜂鳴器 03開(kāi)蜂鳴器 // 串口接收 public static byte[] revcmd = new byte[3];

10. 開(kāi)燈LED0程序如下:

private void button1_Click(object sender, EventArgs e) //開(kāi)燈LED0 { try { if (serialPort1.IsOpen) { serialPort1.Close(); } serialPort1.Open(); //打開(kāi)串口 serialPort1.DiscardInBuffer();//清空緩沖區(qū)數(shù)據(jù) SendOrder[1] = 0x01;//發(fā)送開(kāi)燈命令 serialPort1.Write(SendOrder, 0, 3);//寫(xiě)入串口緩沖區(qū) } catch { MessageBox.Show("請(qǐng)檢查串口1是否打開(kāi)"); } }

11.關(guān)燈LED0程序如下:

private void button2_Click(object sender, EventArgs e) { try { if (serialPort1.IsOpen) { serialPort1.Close(); } serialPort1.Open(); //打開(kāi)串口 serialPort1.DiscardInBuffer();//清空緩沖區(qū)數(shù)據(jù) SendOrder[1] = 0x00;//發(fā)送開(kāi)燈命令 serialPort1.Write(SendOrder, 0, 3);//寫(xiě)入串口緩沖區(qū) } catch { MessageBox.Show("請(qǐng)檢查串口1是否打開(kāi)"); } }

12.蜂鳴器程序留給大家寫(xiě),偷個(gè)懶(●'?'●)

13.串口接收函數(shù)如下:

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) //串口接收中斷 { try { serialPort1.Read(revcmd, 0, 3); // 將接收緩沖區(qū)輸入revcmd } catch { MessageBox.Show("請(qǐng)檢查串口1是否打開(kāi)"); } this.Invoke(new EventHandler(ComService)); //調(diào)用事件處理函數(shù) } 15.串口接收數(shù)據(jù)處理函數(shù)如下: private void ComService(object sender, EventArgs e) { if ((revcmd[0] == 0x5A) & (revcmd[1] == 0x01) & (revcmd[2] == 0xA5)) { button5.Text = "燈開(kāi)了"; button5.BackColor = Color.FromArgb(255, 0, 0); //設(shè)置控件顏色為紅色 // button5.BackColor = Color.FromKnownColor(KnownColor.LightSeaGreen);; //設(shè)置控件顏色為 } if ((revcmd[0] == 0x5A) & (revcmd[1] == 0x00) & (revcmd[2] == 0xA5)) { button5.Text = "燈關(guān)了"; button5.BackColor = Color.FromArgb(224, 224, 224);//灰色 } }

14.上位機(jī)程序編寫(xiě)完成。

15.下面開(kāi)始寫(xiě)STM32開(kāi)發(fā)板程序,這個(gè)比較簡(jiǎn)單,大家應(yīng)該都會(huì)吧。(●'?'●)

void USART1_IRQHandler(void)//串口1中斷服務(wù)程序{ u8 res; USART1_StartFlag=1; if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET) { res=USART_ReceiveData(USART1); //讀接收到的字節(jié),同時(shí)相關(guān)標(biāo)志自動(dòng)清除 if(USART1_RX_CNT<100) { USART1_RX_BUFF[USART1_RX_CNT]=res; USART1_RX_CNT++; TIM_ClearITPendingBit(TIM7,TIM_IT_Update);//清除定時(shí)器溢出中斷 TIM_SetCounter(TIM7,0);//當(dāng)接收到一個(gè)新的字節(jié),將定時(shí)器7復(fù)位為0,重新計(jì)時(shí)(相當(dāng)于喂狗) TIM_Cmd(TIM7,ENABLE);//開(kāi)始計(jì)時(shí) } }} ///////////////////////////////////////////////////////////////////////////////////// //串口服務(wù)函數(shù)void USART1RX_Service(void){ if(USART1_FrameFlag==1) { USART1_StartFlag=0; USART1_FrameFlag=0; //復(fù)位幀結(jié)束標(biāo)志 USART1_RX_CNT=0;//接收計(jì)數(shù)器清零 if((USART1_RX_BUFF[0]==0x5A)&&(USART1_RX_BUFF[1]==0x00)&&(USART1_RX_BUFF[2]==0xA5)) //通訊測(cè)試 5A 00 A5 { SendBUF[0]=0x5A; SendBUF[1]=0x00; SendBUF[2]=0xA5; LED0=1; USART1_SendData(SendBUF,3); } if((USART1_RX_BUFF[0]==0x5A)&&(USART1_RX_BUFF[1]==0x01)&&(USART1_RX_BUFF[2]==0xA5)) //通訊測(cè)試 5A 00 A5 { SendBUF[0]=0x5A; SendBUF[1]=0x01; SendBUF[2]=0xA5; LED0=0; USART1_SendData(SendBUF,3); } }}

16.下面進(jìn)行配置電腦,由于水平有限,本程序需要設(shè)置電腦的COM口且需要改為COM1如下圖:

de15e242-8dcb-11eb-8b86-12bb97331649.png

或者更改VS2019中串口模塊的屬性,如下:

de3fe8bc-8dcb-11eb-8b86-12bb97331649.png

17.好的完成了,謝謝大家。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23297

    瀏覽量

    661361
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10904

    瀏覽量

    356417
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1626

    瀏覽量

    55563
  • Com
    Com
    +關(guān)注

    關(guān)注

    1

    文章

    107

    瀏覽量

    40654

原文標(biāo)題:Visual Studio 2019 +STM32實(shí)現(xiàn)串口通訊

文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Vector推出一套基于Visual Studio Code的免費(fèi)插件

    在汽車軟件開(kāi)發(fā)過(guò)程中,除使用MATLAB開(kāi)發(fā)算法外,專業(yè)開(kāi)發(fā)者也偏向使用Visual Studio Code來(lái)開(kāi)發(fā)代碼,其中軟件測(cè)試用例的編寫(xiě)是確保系統(tǒng)穩(wěn)定性和可靠性的重要環(huán)節(jié)。傳統(tǒng)的CAPL腳本
    的頭像 發(fā)表于 11-24 14:15 ?428次閱讀
    Vector推出一套基于<b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> Code的免費(fèi)插件

    stm32串口燒錄怎么設(shè)置

    準(zhǔn)備工作 確保您擁有STM32開(kāi)發(fā)板和相應(yīng)的硬件設(shè)備,如USB轉(zhuǎn)串口模塊。 安裝STM32CubeMX和STM32CubeProgrammer軟件,這些是ST官方提供的工具,用于配置和
    的頭像 發(fā)表于 08-22 09:33 ?1604次閱讀

    LABVIEW串口通訊

    labview實(shí)現(xiàn)串口通訊
    發(fā)表于 08-19 14:37 ?7次下載

    求助,用visual studio 2017開(kāi)發(fā)esp32的問(wèn)題求解

    各位好,esp32開(kāi)發(fā)我這邊用的是visual studio 2017+visual的形式,我在打開(kāi)工程樣例文件后,編譯通過(guò)并成功燒錄,但是右擊“source Files”文件夾想添加一個(gè)C文件
    發(fā)表于 06-25 07:07

    Visual Studio下無(wú)法安裝ESP-IDF,提示Invalid ESP-IDF的原因?

    求助:Visual Studio下無(wú)法安裝ESP-IDF,提示Invalid ESP-IDF! idf_versions.txt has (1) KB idf_versions.txt
    發(fā)表于 06-14 06:05

    如何在沒(méi)有安裝visual studio或EZ-USB FX3 SDK的win10電腦上使用FwDownloadApp.exe?

    我想在沒(méi)有安裝 visual studio 或 EZ-USB FX3 SDK 的 win10 電腦上使用 FwDownloadApp.exe。 我看到了沒(méi)有 msvcp90.dll
    發(fā)表于 05-30 08:31

    STM32F407VE使用Visual studio 2017 + VisualGDB 5.4版調(diào)試程序,運(yùn)行時(shí)報(bào)錯(cuò)的原因?

    STM32F407VE板子使用Visual studio 2017 + VisualGDB 5.4版調(diào)試程序 運(yùn)行到 void *p; sscanf(name, \":%p\"
    發(fā)表于 04-24 07:58

    求助,關(guān)于STM32 USB轉(zhuǎn)串口與其他單片機(jī)通訊問(wèn)題求解

    實(shí)現(xiàn)stm32f103在usb轉(zhuǎn)串口后,跟其他的單片機(jī) 通訊,可以實(shí)現(xiàn)嗎? 如果用stm32f
    發(fā)表于 04-23 07:10

    用Cubeprogrammer中的API串口,Visual Studio環(huán)境設(shè)置按說(shuō)明書(shū)配置的,編譯有錯(cuò)誤的原因?

    用Cubeprogrammer中的API 串口Visual Studio環(huán)境設(shè)置按說(shuō)明書(shū)配置的,編譯還是有錯(cuò)誤,有知道問(wèn)題的嗎?
    發(fā)表于 03-29 08:46

    STM32怎么實(shí)現(xiàn)模擬串口?

    STM32有沒(méi)有官方的實(shí)現(xiàn)模擬串口的實(shí)例???硬件把串口用完了,然后還有一個(gè)串口接到了普通IO上,叫我模擬一個(gè)
    發(fā)表于 03-28 08:10

    工業(yè)串口設(shè)備通訊神器:串口服務(wù)器CS64J

    在當(dāng)今工業(yè)物聯(lián)網(wǎng)應(yīng)用中,串口服務(wù)器的應(yīng)用非常普遍。無(wú)論是RS485還是RS232串口通訊,串口服務(wù)器都能夠輕松實(shí)現(xiàn)虛擬
    的頭像 發(fā)表于 03-21 17:09 ?501次閱讀
    工業(yè)<b class='flag-5'>串口</b>設(shè)備<b class='flag-5'>通訊</b>神器:<b class='flag-5'>串口</b>服務(wù)器CS64J

    如何實(shí)現(xiàn)STM32 USB host對(duì)另外的一個(gè)USB虛擬串口設(shè)備的通訊?

    如何實(shí)現(xiàn)STM32 USB host 對(duì)另外的一個(gè)USB 虛擬串口設(shè)備的通訊
    發(fā)表于 03-07 06:10

    為什么RTThread STUDIO生成的工程啟動(dòng)終端串口不顯示串口號(hào)?

    RTT STUDIO生成的工程啟動(dòng)終端串口不顯示串口號(hào)。 單片機(jī) STM32F091CBT RTT STUDIO 版本 2.2.7
    發(fā)表于 02-29 07:37

    串口通訊時(shí)的數(shù)據(jù)幀格式和通訊協(xié)議有什么區(qū)別?

    串口通訊時(shí)的數(shù)據(jù)幀格式和通訊協(xié)議是兩個(gè)不同的概念,它們?cè)?b class='flag-5'>串口通訊中起著不同的作用,但都是為了實(shí)現(xiàn)
    的頭像 發(fā)表于 01-30 09:21 ?2079次閱讀

    stm32怎么讀取串口發(fā)來(lái)的指令

    讀取串口發(fā)來(lái)的指令是嵌入式系統(tǒng)中一項(xiàng)常見(jiàn)的任務(wù),特別是在與外部設(shè)備進(jìn)行通信時(shí)。在STM32系列微控制器中,提供了多個(gè)串口接口(USART、UART等),可以用于讀取和處理串口接收到的數(shù)
    的頭像 發(fā)表于 01-07 17:08 ?2754次閱讀
    主站蜘蛛池模板: 嫩草成人国产精品| 在线亚洲色拍偷拍在线视频| 我的美女房东未删减版免费观看| 午夜国产一区在线观看| 亚洲综合中文| a级男女性高爱潮高清试看| 国产福利高清在线视频| 精品久久综合1区2区3区激情| 免费夜色污私人影院网站| 天天综合亚洲综合网站| 伊人久久伊人| 荡乳乱公小说| 久久激情网| 日韩人妻无码精品-专区| 亚洲伊人久久精品| 憋尿调教绝望之岛| 吉吉影音先锋av资源网| 欧美日韩综合一区| 亚洲男人的天堂久久精品麻豆| 97国产露脸精品国产麻豆| 国产成人a v在线影院| 久久学生精品国产自在拍| 色欲久久99精品久久久久久AV| 曰本熟妇乱妇色A片在线| 国产99视频精品免费播放| 久久这里只有精品2| 忘忧草在线影院www日本| 中文字幕日本一区| 国产精品人妻无码久久久奥特曼 | 大香网伊人久久综合网2020| 寂寞护士中文字幕 mp4| 日韩hd高清xxxⅹ| 在线AV国产传媒18精品免费| 国产成人无码精品久久久影院| 美女张开腿让男生桶动态图| 亚洲激情网站| 超碰久久国产vs| 啦啦啦影院视频在线看高清...| 小小水蜜桃免费影院| 操中国老太太| 毛篇片在线观看|