日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

两块stm32仿真protues串口通信程序

發布時間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两块stm32仿真protues串口通信程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是本人一個作業,卻整整花了兩天時間才搞完,因為網上關于stm32的仿真很少,所以應該是網上第一份protues兩塊單片機實現串口交互的程序,實在是值得紀念一下。
前文提要,由于protues仿真庫函數bug太多,所以采用寄存器的初始化版本原作者
后面會發原程序下載地址
首先我們知道串口交互程序需要uasrt初始化,這邊采用的是原子哥的例程實驗四的初始化,這個可以自行參考資料,這邊就不放代碼圖了。
led和key配置,這邊放兩個的.h代碼就好

//led.h #define LED5 PBout(4)// PB4 #define LED4 PBout(5)// PB5 #define LED3 PBout(6)// PB6void LED_Init(void);//初始化 //key.h #define KEY0 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10)//讀取按鍵0 #define KEY1 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)//讀取按鍵1 #define KEY2 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)//讀取按鍵2 #define KEY3 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)//讀取按鍵3 #define KEY4 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)//讀取按鍵4#define KEY0_PRES 1 //KEY0按下 #define KEY1_PRES 2 //KEY1按下 #define KEY2_PRES 3 //KEY2按下 #define KEY3_PRES 4 //KEY3按下 #define KEY4_PRES 5 //KEY4按下

這兩個初始化程序也是原子哥的,可以自行找代碼參考如何實現。


這個是作業內容,但是問題是如何實現
按鍵控制實現比較簡單,如何實現發送信號和接收信號是一個問題
首先必須知道usar的函數是如何實現,這邊就介紹我們需要的發送和接收就好。

//USART_SenData void USART_SendData(USART_TypeDef* USARTx, uint16_t Data) {/* Check the parameters */assert_param(IS_USART_ALL_PERIPH(USARTx));assert_param(IS_USART_DATA(Data)); /* Transmit Data */USARTx->DR = (Data & (uint16_t)0x01FF); } //例子 //USART_SendData(USART1, 0x00); //發送0x02

0x02就是十六進制,0x02=00000010,這里我也不多贅述了。
這邊還有一個關鍵點,很多人可能發送數據只會發一個數據,例如:

USART_SendData(USART1,0x00) ; USART_SendData(USART1,0x01) ; USART_SendData(USART1,0x02) ; 這樣通過上位機收到的只是02并不是00 01 02

因為數據還來不及發送,數據就被后面來的數據覆蓋了,所以收到的數據是02,不是00 01 02

USART_SendData(USART1,0x00) ; delay_ms(1); USART_SendData(USART1,0x01) ; delay_ms(1); USART_SendData(USART1,0x02) ; delay_ms(1); 這樣收到的才是00 01 02

這個是個蠢辦法,但是由于本人也還沒理解那么多,就先用著,后面鏈接就是參考來源,里面有一個更好的設置辦法。
參考
然后是接收函數

USART_RX_BUF[0]==0x02//當第一個字符為0x02時

這個函數我也放個鏈接個需要的同學參考
STM32通過串口控制LED閃爍或者呼吸效果
這邊也有一個問題,由于protues仿真只能讀取第一一個字符,所以后面調試過程我基本都是使用串口模擬器,讓計算機來調試。
然后是主函數的東西,由于我寫的比較亂就放出一個給別人參考后面放源程序鏈接給同學。

int main(void){ vu8 key=0; u8 t;u8 len; u16 times=0; Stm32_Clock_Init(9); //系統時鐘設置 // delay_init(); //延時函數初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設置中斷優先級分組2 uart_init(9600); //串口初始化為9600 LED_Init(); //初始化與LED連接的硬件接口 KEY_Init();for(t=0;t<10;t++){Array[t]=t;}while(1){ if(USART_RX_BUF[0]==0x01) { hxf_delay_s(10); LED4=!LED4; hxf_delay_s(10);USART_SendData(USART1, 0x01); hxf_delay_s(10);USART_SendData(USART1, 0x01); hxf_delay_s(10);USART_SendData(USART1, 0x02); hxf_delay_s(10);USART_SendData(USART1, 0x03); hxf_delay_s(10);USART_SendData(USART1, 0xaa); } //輸如代碼和USART_RX_BUF key=KEY_Scan(0); //得到鍵值if(key){ switch(key){ case KEY2_PRES: //控制LED4點亮 delay_ms(1000);LED4=!LED4; hxf_delay_s(10);USART_SendData(USART1, 0x01); hxf_delay_s(10);USART_SendData(USART1, 0x01); hxf_delay_s(10);USART_SendData(USART1, 0x02); hxf_delay_s(10);USART_SendData(USART1, 0x03); hxf_delay_s(10);USART_SendData(USART1, 0xaa);}break;}} //key2 、led1和USART_SendData

這里面由于原本的時鐘不知道為什么定時不精確,也沒去深究,就自己按原本那個寫了一個新的放進main.c函數里面了。
這樣程序部分就完成了。
然后是仿真部分,先上一份仿真圖

這里面的stm32需要設置72MHZ,然后由于virtual teminal會吞掉信號,所以我們不使用他,后面看波形,我們在用示波器看。
用串口模擬器和xcom調試看看運行如何。



發現符合要求,這邊仿真圖看看就行,因為protues的局限性太大了,這是我目前能做出來最完美的一份,然后兩塊單片機交互時候,大家可以自行用protues去嘗試,也是能成功的,希望對大家有用。
資源下載
QQ3209448656

總結

以上是生活随笔為你收集整理的两块stm32仿真protues串口通信程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩人妻无码精品久久免费 | 偷拍亚洲综合 | 精品久久毛片 | 91丝袜呻吟高潮美腿白嫩 | 能看av的网站 | 久久高清毛片 | www.youjizz国产 | 337p日本欧洲亚洲大胆张筱雨 | 国产女教师一区二区三区 | 亚洲精品网站在线 | 免费看国产精品 | 手机在线看片福利 | 国产网红女主播精品视频 | 天天操操操 | 在线观看色视频 | 91久久电影 | 中国特级毛片 | 小俊大肉大捧一进一出好爽 | 黄视频在线免费看 | 欧美变态口味重另类 | 国产精品久久久久久亚洲伦 | 欧美亚洲免费 | 欧美视频h| 少妇裸体视频 | 国产色秀 | 91精品色 | 操操插插 | 欧美日韩高清免费 | 制服丝袜国产精品 | 伊人色在线视频 | 国产又粗又黄 | 天天色婷婷 | 水蜜桃av在线 | 欧美一区二区免费视频 | 黄色片子免费 | 波多野久久 | 伊人888| 亚洲精品爱爱 | www黄色片网站| 麻豆网站视频 | 国产二级视频 | 欧美性受视频 | 91亚洲精品国偷拍自产在线观看 | 亚洲性生活网站 | 开心激情站 | 色接久久 | 91呦呦 | 日韩av中文字幕在线播放 | 日日夜夜免费精品视频 | 无码人妻精品一区二区三区9厂 | 色就是色综合 | www.污网站 | 精品国产无码在线 | 国产精品丝袜黑色高跟鞋的设计特点 | 免费拍拍拍网站 | 欧美xxxxxxxxx | 成人精品视频一区二区三区尤物 | 我要色综合网 | 国产高清精品软件丝瓜软件 | 美日韩成人av | 视频一区国产 | 国产一区在线免费 | 国产日本欧美一区二区 | 99热这里只有精品8 国产一卡二 | 国产精品亚洲一区二区 | 日韩 欧美 自拍 | 免费看一级 | 秋霞电影一区二区 | 免费观看国产视频 | 亚洲人成在线免费观看 | 在线观看视频二区 | 男人的天堂影院 | 四虎影库在线播放 | 久久久久黄 | 国产青青青 | 国产aⅴ激情无码久久久无码 | 欧洲性生活视频 | 蜜臀av一区| 日韩孕交 | 成人99| wwwxxx色| 污视频网站免费看 | av中出| 欧美视频区 | 捅肌肌| 欧美极品在线观看 | 国产欧美一区二区三区鸳鸯浴 | 九色网站在线观看 | 国产精品久久久一区二区 | 欧美自拍偷拍一区 | 超碰在线99 | 玖玖热在线视频 | 久久狠 | 国产精品二区一区二区aⅴ 一卡二卡三卡在线观看 | 日本一级吃奶淫片免费 | av无码一区二区三区 | 谁有av网址 | 日韩三区视频 | 欧美在线aa |