找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 13823|回復(fù): 22
打印 上一主題 下一主題
收起左側(cè)

全球首發(fā),全網(wǎng)最快,全世界第一個(gè)Proteus8.8仿真stm32f401實(shí)現(xiàn)串口通信(寄存器版)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
全球首發(fā),全網(wǎng)最快,全球第一個(gè)用Proteus8.8軟件仿真stm32f401芯片實(shí)現(xiàn)串口通信(寄存器版)

使用寄存器實(shí)現(xiàn),沒有bug
庫(kù)函數(shù)有bug,可以發(fā)送后但是無法接收,接收亂碼
本人時(shí)間精力有限,希望高手能夠解決bug

實(shí)驗(yàn)現(xiàn)象:
        本實(shí)驗(yàn),STM32通過串口1和上位機(jī)對(duì)話,STM32在收到上位機(jī)發(fā)過來的字符串(以回車換行結(jié)束)后,原原本本的返回給上位機(jī)。下載后,DS0閃爍,提示程序在運(yùn)行,同時(shí)每隔 一定時(shí)間,通過串口1輸出一段信息到電腦。

注:調(diào)試需安裝虛擬串口



單片機(jī)源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"

  5. int main(void)
  6. {
  7.         u8 t;
  8.         u8 len;        
  9.         u16 times=0;   
  10.         Stm32_Clock_Init(168,8,2,7);//設(shè)置時(shí)鐘,84Mhz
  11.         delay_init(84);                //延時(shí)初始化
  12.         uart_init(42,9600);        //串口初始化為115200
  13.         LED_Init();                                  //初始化與LED連接的硬件接口   
  14.         while(1)
  15.         {
  16.                 if(USART_RX_STA&0x8000)
  17.                 {                                          
  18.                         len=USART_RX_STA&0x3fff;//得到此次接收到的數(shù)據(jù)長(zhǎng)度
  19.                         printf("\r\n您發(fā)送的消息為:\r\n");
  20.                         for(t=0;t<len+1;t++)
  21.                         {
  22.                                 USART1->DR=USART_RX_BUF[t];
  23.                                 while((USART1->SR&0X40)==0);//等待發(fā)送結(jié)束
  24.                         }
  25.                         printf("\r\n\r\n");//插入換行
  26.                         USART_RX_STA=0;
  27.                 }else
  28.                 {
  29.                         times++;

  30.                         if(times%200==0)printf("請(qǐng)輸入數(shù)據(jù),以回車鍵結(jié)束\r\n");  
  31.                         if(times%30==0)LED0=!LED0;//閃爍LED,提示系統(tǒng)正在運(yùn)行.
  32.                         delay_ms(10);   
  33.                 }
  34.         }
  35. }
復(fù)制代碼

所有資料51hei提供下載:
proteus stm32f401 實(shí)現(xiàn)串口通信.7z (110.09 KB, 下載次數(shù): 479)


評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏9 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

22#
ID:1100713 發(fā)表于 2023-11-22 11:24 | 只看該作者
謝謝樓主學(xué)習(xí)到了
回復(fù)

使用道具 舉報(bào)

21#
ID:883317 發(fā)表于 2021-4-4 10:25 | 只看該作者
原理一直沒人弄懂嗎
回復(fù)

使用道具 舉報(bào)

20#
ID:97832 發(fā)表于 2020-8-5 10:52 | 只看該作者

這個(gè)不錯(cuò),正在學(xué)習(xí)stm32串口通信
回復(fù)

使用道具 舉報(bào)

19#
ID:285416 發(fā)表于 2020-7-30 21:21 來自手機(jī) | 只看該作者
還有,我看到cdsn。里面有改成f 407。的帖子,但是他的源碼我沒有c幣下載不了。幫我嘗試一下這個(gè)嘛,我也現(xiàn)在正在搞這個(gè)。
回復(fù)

使用道具 舉報(bào)

18#
ID:285416 發(fā)表于 2020-7-30 21:19 來自手機(jī) | 只看該作者
樓主師傅能不能搞個(gè)復(fù)雜一點(diǎn)兒的sd卡 或usb  串口仿真不用發(fā)送,我只監(jiān)視內(nèi)容就可以。
回復(fù)

使用道具 舉報(bào)

17#
ID:761660 發(fā)表于 2020-6-6 09:26 | 只看該作者
很強(qiáng)大。
回復(fù)

使用道具 舉報(bào)

16#
ID:765366 發(fā)表于 2020-5-31 09:04 | 只看該作者
感謝分享,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

15#
ID:710460 發(fā)表于 2020-5-23 00:38 | 只看該作者
526637566@qq.co 發(fā)表于 2020-5-20 07:05
F1的接收是有問題,我試了寄存器、庫(kù)函數(shù)、hal庫(kù)都不行,不同波特率也試了,都是不能正確接受數(shù)據(jù)串,單 ...

https://www.ixigua.com/i6799650795739415052/

可以看下這個(gè)視頻
回復(fù)

使用道具 舉報(bào)

14#
ID:358536 發(fā)表于 2020-5-20 07:05 | 只看該作者
happy87 發(fā)表于 2020-5-14 20:35
這個(gè)內(nèi)部實(shí)現(xiàn),真的是寄存器

F1的接收是有問題,我試了寄存器、庫(kù)函數(shù)、hal庫(kù)都不行,不同波特率也試了,都是不能正確接受數(shù)據(jù)串,單個(gè)數(shù)據(jù)接收正常,發(fā)射正常。但是沒有用過查詢方式,用了DMA和中斷都是不行的,查詢由于太占時(shí)間,仿真本來就卡,也就算了
回復(fù)

使用道具 舉報(bào)

13#
ID:230913 發(fā)表于 2020-5-14 20:35 | 只看該作者
tonywuplc 發(fā)表于 2020-4-23 00:51
樓主,你使用的就是庫(kù)函數(shù),怎么就實(shí)現(xiàn)了,而且我打開你的附件,也能正常按要求運(yùn)行。但我用我自己的F1系列 ...

這個(gè)內(nèi)部實(shí)現(xiàn),真的是寄存器
回復(fù)

使用道具 舉報(bào)

12#
ID:342223 發(fā)表于 2020-4-23 00:51 | 只看該作者
樓主,你使用的就是庫(kù)函數(shù),怎么就實(shí)現(xiàn)了,而且我打開你的附件,也能正常按要求運(yùn)行。但我用我自己的F1系列的在仿真串口,就是能發(fā)送不能正常的接收,我知道是波特率的問題,無論我怎么修改調(diào)試,結(jié)果還是不理想,這個(gè)問題困擾我很久了,希望能指點(diǎn)一下!
回復(fù)

使用道具 舉報(bào)

11#
ID:710460 發(fā)表于 2020-4-14 12:15 | 只看該作者

在正點(diǎn)原子的   F4串口實(shí)驗(yàn)基礎(chǔ)之上按照上圖修改,即可實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

10#
ID:615889 發(fā)表于 2020-4-8 23:59 | 只看該作者
謝謝,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

9#
ID:710744 發(fā)表于 2020-3-18 20:21 | 只看該作者
這個(gè)不錯(cuò),stm32串口通信
回復(fù)

使用道具 舉報(bào)

8#
ID:265664 發(fā)表于 2020-3-10 12:35 | 只看該作者
請(qǐng)問樓主這個(gè)問題解決沒,我對(duì)這個(gè)實(shí)驗(yàn)也很感興趣
回復(fù)

使用道具 舉報(bào)

7#
ID:564771 發(fā)表于 2020-3-7 17:35 | 只看該作者
請(qǐng)問樓主或者有人解決了嘛
回復(fù)

使用道具 舉報(bào)

6#
ID:524850 發(fā)表于 2020-2-13 09:14 | 只看該作者
有這個(gè)軟件的鏈接嗎,求分享
回復(fù)

使用道具 舉報(bào)

5#
ID:679186 發(fā)表于 2020-1-2 17:28 | 只看該作者
感謝分享  學(xué)習(xí)這個(gè)軟件
回復(fù)

使用道具 舉報(bào)

地板
ID:276703 發(fā)表于 2020-1-1 17:22 | 只看該作者
感謝分享  學(xué)習(xí)這個(gè)軟件
回復(fù)

使用道具 舉報(bào)

板凳
ID:478218 發(fā)表于 2019-5-25 16:27 | 只看該作者
厲害了呀
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:521983 發(fā)表于 2019-5-22 10:54 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報(bào)

樓主
ID:104982 發(fā)表于 2019-2-14 18:23 | 只看該作者
厲害,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表