哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

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

Q4MP_gh_c472c21 ? 來源: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開發(fā)板LED燈的亮滅。

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

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

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

10. 開燈LED0程序如下:

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

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

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

12.蜂鳴器程序留給大家寫,偷個(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是否打開"); } 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 = "燈開了"; 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ī)程序編寫完成。

15.下面開始寫STM32開發(fā)板程序,這個(gè)比較簡單,大家應(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);//開始計(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)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    244

    文章

    24705

    瀏覽量

    692391
  • STM32
    +關(guān)注

    關(guān)注

    2312

    文章

    11189

    瀏覽量

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

    關(guān)注

    34

    文章

    1662

    瀏覽量

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

    關(guān)注

    1

    文章

    111

    瀏覽量

    46403

原文標(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)推薦
    熱點(diǎn)推薦

    如何在 STM32Cube CMake 工程中添加源文件

    STM32Cube for Visual Studio Code V3 版本(例如,如下圖所示的 Pre-release V3.4.11)打開,編輯,編譯以及調(diào)試。但是除了 STM32
    發(fā)表于 04-15 16:07 ?0次下載

    使用 Keil Studio for Visual Studio Code開發(fā) STM32 設(shè)備

    ,其中包括 STMicroelectronics 廣泛的 STM32 產(chǎn)品系列。它將 Arm 編譯器的可靠性與成熟度、廣泛的器件支持,與 Visual Studio Code 的靈活性和可擴(kuò)展性有
    的頭像 發(fā)表于 03-05 17:41 ?3745次閱讀
    使用 Keil <b class='flag-5'>Studio</b> for <b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> Code開發(fā) <b class='flag-5'>STM32</b> 設(shè)備

    串口調(diào)試助手跟變頻器怎么通訊

    串口調(diào)試助手與變頻器的通訊是工業(yè)自動(dòng)化領(lǐng)域中常見的技術(shù)操作,其核心在于通過串口協(xié)議實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸與控制。本文將圍繞硬件連接、參數(shù)配置、協(xié)議解析及常見問題排查等方面展開詳細(xì)說明,幫助
    的頭像 發(fā)表于 03-03 17:05 ?701次閱讀
    <b class='flag-5'>串口</b>調(diào)試助手跟變頻器怎么<b class='flag-5'>通訊</b>

    STM32驅(qū)動(dòng)串口屏,STM32F103C8T6串口發(fā)送指令控制HMI串口

    僅是一部分常用的基礎(chǔ)指令,更多更仔細(xì)的指令或者函數(shù)可以訪問陶晶馳資料官網(wǎng)。 硬件和接線 硬件需要一塊STM32F103C8T6的開發(fā)板,杜邦線諾干,2.4寸串口屏一塊 接線 串口STM32
    的頭像 發(fā)表于 02-10 17:07 ?532次閱讀
    <b class='flag-5'>STM32</b>驅(qū)動(dòng)<b class='flag-5'>串口</b>屏,<b class='flag-5'>STM32</b>F103C8T6<b class='flag-5'>串口</b>發(fā)送指令控制HMI<b class='flag-5'>串口</b>屏

    使用ADI Power Studio簡化電源系統(tǒng)設(shè)計(jì)流程

    ADI推出綜合性產(chǎn)品系列 ADI Power Studio,可實(shí)現(xiàn)先進(jìn)的建模、元件推薦、效率分析與仿真功能。此外,同時(shí)還發(fā)布了Power Studio產(chǎn)品系列中具備現(xiàn)代化用戶體驗(yàn)的兩款網(wǎng)頁端新工
    的頭像 發(fā)表于 11-18 18:04 ?2002次閱讀
    使用ADI Power <b class='flag-5'>Studio</b>簡化電源系統(tǒng)設(shè)計(jì)流程

    串口到底是個(gè)啥?#串口通訊 #電路知識(shí) #RS485 #工業(yè)以太網(wǎng)

    串口通訊
    西安阿爾泰電子科技發(fā)展有限公司
    發(fā)布于 :2025年10月16日 18:02:50

    rtstudio是否可像keil加載ini解決虛擬串口與mcu串口通訊?

    ,兩者通過虛擬串口進(jìn)行通信調(diào)試。 RT-Thread Studio是否也能實(shí)現(xiàn)類似的功能? 主要是為解決在沒有實(shí)際串口與mcu連接時(shí)依然可以給單片機(jī)數(shù)據(jù)進(jìn)行調(diào)試。
    發(fā)表于 10-09 06:23

    又短又好用:單片機(jī)就一個(gè)串口,如何和多個(gè)從機(jī)串口通信?串口如何實(shí)現(xiàn)一主多從?

    即可實(shí)現(xiàn)總線。 但是有時(shí)候由于一些原因不得不也想到另一種設(shè)計(jì),即讓串口實(shí)現(xiàn)一主多從這種總線設(shè)計(jì)。比如板內(nèi)主MCU只有一個(gè)串口,但是想使用這一個(gè)串口與另外兩個(gè)MCU
    的頭像 發(fā)表于 09-17 11:49 ?1796次閱讀
    又短又好用:單片機(jī)就一個(gè)<b class='flag-5'>串口</b>,如何和多個(gè)從機(jī)<b class='flag-5'>串口</b>通信?<b class='flag-5'>串口</b>如何<b class='flag-5'>實(shí)現(xiàn)</b>一主多從?

    微軟Visual Studio 2026 發(fā)布!AI 深度融合、性能提升

    “ ?微軟發(fā)布 Visual Studio 2026 預(yù)覽版,新版本以深度融合的 AI Copilot 為核心,結(jié)合全新的 Fluent Design 界面與顯著的性能提升,旨在打造前所未有的智能
    的頭像 發(fā)表于 09-16 11:17 ?2330次閱讀
    微軟<b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> 2026 發(fā)布!AI 深度融合、性能提升

    RT Thread Studio新建STM32L431RCTx工程,串口無輸出怎么解決?

    又遇到這種鬼問題,采用RT Thread Studio新建了thread通用項(xiàng)目,內(nèi)核版本為5.0.2,芯片型號(hào)為STM32L431RCTx,芯片包為0.1.9,建好工程后,程序可以正常運(yùn)行,寫的閃
    發(fā)表于 09-16 07:24

    studio 構(gòu)建stm32 RTT 工程報(bào)錯(cuò)是為什么?

    使用studio 構(gòu)建STM32F4 工程,什么都沒有動(dòng)報(bào)了以上錯(cuò)誤.這是為什么 ?
    發(fā)表于 09-12 07:02

    通用MCU語音芯片支持串口+AT指令485通訊

    文檔簡單介紹AD24N的性能參數(shù)、串口通訊指令、應(yīng)用方向、等內(nèi)容
    的頭像 發(fā)表于 07-24 11:35 ?800次閱讀
    通用MCU語音芯片支持<b class='flag-5'>串口</b>+AT指令485<b class='flag-5'>通訊</b>

    PLC之間跨區(qū)域通訊!無線通訊方案全解析

    。 在這種情況下,可以給PLC配備相應(yīng)的無線通訊模塊來實(shí)現(xiàn) PLC與PLC無線通訊。 串口無線通訊模塊和以太網(wǎng)無線
    的頭像 發(fā)表于 07-21 16:57 ?1016次閱讀
    PLC之間跨區(qū)域<b class='flag-5'>通訊</b>!無線<b class='flag-5'>通訊</b>方案全解析

    第十四章 USART——串口通訊

    本章介紹了USART串口通訊,含物理層(RS-232、TTL電平)、協(xié)議層(波特率、數(shù)據(jù)幀),及W55MH32的USART功能與應(yīng)用。
    的頭像 發(fā)表于 06-14 16:30 ?2020次閱讀
    第十四章 USART——<b class='flag-5'>串口</b><b class='flag-5'>通訊</b>

    如何在Visual Studio 2022中運(yùn)行FX3吞吐量基準(zhǔn)測(cè)試工具?

    Visual Studio 2022 中運(yùn)行此工具的步驟嗎? 此外,是否有我可能錯(cuò)過的可執(zhí)行文件(例如在 GitHub 上)? 預(yù)先感謝您的幫助!
    發(fā)表于 05-13 08:05
    临潭县| 临沧市| 广宗县| 读书| 永城市| 沙坪坝区| 邮箱| 出国| 南投县| 石河子市| 通渭县| 正宁县| 绥江县| 宜州市| 湛江市| 太和县| 开原市| 嘉义县| 通城县| 芜湖县| 昔阳县| 沙湾县| 安徽省| 邯郸市| 弥勒县| 邢台县| 三门峡市| 呼玛县| 藁城市| 罗平县| 乐安县| 朔州市| 楚雄市| 舒城县| 尖扎县| 怀仁县| 聊城市| 澎湖县| 沈阳市| 澄迈县| 阜平县|