久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Proteus+stm32f103c6串口仿真程序及注意事項

  [復制鏈接]
跳轉到指定樓層
樓主
在用proteus 仿真 stm32f103c6串口時,發現stm32主頻不能超過55MHz,參見proteus的 sample project,我把倍頻系數設為6,同時仿真主頻需設為倍頻系數*8M(晶振頻率),串口波特率不受限制。參見附件

proteus仿真串口前必讀事項
1、    proteus Virtual Terminal 串口波特率沒有限制(推薦9600;)
2、    但對于倍頻系數 RCC_PLLMul_*,*的取值似乎只能是6以下,否則Virtual Terminal顯示亂碼。
在sys.c中設置(洋桃電子例程;野火似乎沒把設置RCC頻率程序單列出來)
/*設置PLL時鐘源及倍頻系數*/   
        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_5); //RCC_PLLMul_x(枚舉2~16)是倍頻值。當HSE=8MHZ,RCC_PLLMul_9時PLLCLK=72MHZ   
3、    雙擊proteus原理圖中stm32元件,載入*.elf文件時,彈出如圖2的窗口,頻率必須設為8MHz* RCC_PLLMul_*,其中*<=6, 8MHz為stm32f103c6的外接晶振頻率(proteus仿真庫沒有stm32f103c8)。



仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include "stm32f10x.h" //STM32頭文件
  2. #include "sys.h"
  3. #include "delay.h"

  4. #include "usart.h"


  5. int main (void){//主程序
  6.         RCC_ClocksTypeDef     RCC_Clocks;
  7.         u8 a=7,b=8;
  8.         //初始化程序
  9.         RCC_Configuration(); //時鐘設置
  10.         
  11.         
  12.   RCC_GetClocksFreq(&RCC_Clocks);

  13.         
  14.         USART1_Init(4800); //串口初始化(參數是波特率)

  15.         //主循環
  16.         while(1){

  17.                 /* 發送方法1 */
  18. //                USART_SendData(USART1 , 0x55); //發送單個數值
  19. //                while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET); //檢查發送中斷標志位

  20.                 /* 發送方法2 */
  21. //                printf("STM32F103 "); //純字符串發送數據到串口

  22. //                printf("STM32 %d %d ",a,b); //純字符串和變量發送數據到串口,a符號變量
  23.                  
  24.                 /* 發送方法3 */
  25.                 USART1_printf("STM32 %d %d ",a,b);

  26.         delay_ms(1000); //延時
  27.         }
  28. }


  29. 【變量定義】
  30. u32     a; //定義32位無符號變量a
  31. u16     a; //定義16位無符號變量a
  32. u8     a; //定義8位無符號變量a
  33. vu32     a; //定義易變的32位無符號變量a
  34. vu16     a; //定義易變的 16位無符號變量a
  35. vu8     a; //定義易變的 8位無符號變量a
  36. uc32     a; //定義只讀的32位無符號變量a
  37. uc16     a; //定義只讀 的16位無符號變量a
  38. uc8     a; //定義只讀 的8位無符號變量a

  39. #define ONE  1   //宏定義

  40. delay_us(1); //延時1微秒
  41. delay_ms(1); //延時1毫秒
  42. delay_s(1); //延時1秒

  43. */
復制代碼

所有資料51hei提供下載:
7USART—串口通信.7z (888.46 KB, 下載次數: 673)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

來自 2#
ID:693722 發表于 2020-3-1 17:19 | 只看該作者
為什么Proteus里面STM32F103的晶振頻率設置為40MHz,而不是8MHz,會不會設置錯了
回復

使用道具 舉報

來自 3#
ID:522338 發表于 2020-3-10 15:23 | 只看該作者
大佬,為什么我用您的hex文件和仿真 必須把COMPIN的波特率設置為57600,MCU的晶振48MHZ才能正確輸出啊,但是看代碼里寫的usart的初始化不是4800嗎,而且PLL倍數那個選擇的是5倍,不應該是40MHZ嗎
回復

使用道具 舉報

來自 4#
ID:711649 發表于 2020-4-17 11:01 | 只看該作者
樓主,方便把源碼發一下嘛,我按照你的程序創建工程運行之后顯示不正確,直接用你的HEX文件能仿真出來,想看一下你是怎么配置的,謝謝!!
回復

使用道具 舉報

5#
ID:233711 發表于 2019-11-9 11:37 | 只看該作者
內容很新 很實用
回復

使用道具 舉報

6#
ID:253856 發表于 2019-11-18 13:30 | 只看該作者
感謝分享
回復

使用道具 舉報

7#
ID:72576 發表于 2020-1-12 12:14 | 只看該作者
感謝分享
回復

使用道具 舉報

8#
ID:72576 發表于 2020-1-12 12:15 | 只看該作者
感謝分享
回復

使用道具 舉報

9#
ID:552592 發表于 2020-3-8 15:27 | 只看該作者
Proteus能不能仿真STM32F103C8T6
回復

使用道具 舉報

10#
ID:700459 發表于 2020-3-9 07:33 | 只看該作者
good code
回復

使用道具 舉報

11#
ID:710744 發表于 2020-3-18 18:24 | 只看該作者
想學習一下
回復

使用道具 舉報

12#
ID:700459 發表于 2020-3-19 07:30 | 只看該作者
thank you very much
回復

使用道具 舉報

13#
ID:292427 發表于 2020-4-11 16:37 | 只看該作者
Pee_32 發表于 2020-3-8 15:27
Proteus能不能仿真STM32F103C8T6

不能 最新版的都沒有 ,有別的STM32F103
回復

使用道具 舉報

14#
ID:400821 發表于 2020-4-15 15:11 | 只看該作者
非常好
回復

使用道具 舉報

15#
ID:594374 發表于 2020-4-20 11:13 | 只看該作者
您好方便發一下程序么   這個我程序設置波特率9600,但是在仿真中必須要設置主頻48波特率57600才能正確接收到  有點蒙  想看看您的程序
回復

使用道具 舉報

16#
ID:731693 發表于 2020-4-21 08:33 | 只看該作者
感謝分享
回復

使用道具 舉報

17#
ID:734107 發表于 2020-4-25 15:19 | 只看該作者
僅在主頻48MHZ,virtual的波特率設置為57600,才可以正常顯示,而且分頻數為5,6都不行。程序里的波特率,也不能寫57600,我寫的9600可以正常。很迷。。。
回復

使用道具 舉報

18#
ID:483144 發表于 2020-5-12 10:56 | 只看該作者
Proteus仿真串口時,Proteus的晶振頻率要按SYSCLK的值設置
回復

使用道具 舉報

19#
ID:750338 發表于 2020-5-12 21:40 | 只看該作者
感謝分享
回復

使用道具 舉報

20#
ID:256070 發表于 2020-5-13 10:14 | 只看該作者
學習了
回復

使用道具 舉報

21#
ID:750635 發表于 2020-5-14 10:44 | 只看該作者
能發下源代碼嗎
回復

使用道具 舉報

22#
ID:451629 發表于 2020-5-14 22:26 | 只看該作者
這個。。程序。。哎
回復

使用道具 舉報

23#
ID:451629 發表于 2020-5-14 22:27 | 只看該作者
只是零散的幾個文件,還不如不發
回復

使用道具 舉報

24#
ID:748904 發表于 2020-5-18 10:35 | 只看該作者
感謝分享
回復

使用道具 舉報

25#
ID:762483 發表于 2020-5-27 14:40 | 只看該作者
這要怎么設置,暈了,剛剛設置主頻48波特率57600才能正確接收到(程序波特率為9600),現在又不行了
回復

使用道具 舉報

26#
ID:762483 發表于 2020-5-27 14:50 | 只看該作者
lsf18 發表于 2020-4-20 11:13
您好方便發一下程序么   這個我程序設置波特率9600,但是在仿真中必須要設置主頻48波特率57600才能正確接收 ...

你后面成功了嗎?我也是程序設置的波特率為9600 ,和你的情況一樣。但是代碼重新編譯一下就不可以使用了
回復

使用道具 舉報

27#
ID:435675 發表于 2020-6-20 14:10 | 只看該作者
感謝分享
回復

使用道具 舉報

28#
ID:810485 發表于 2020-8-2 11:11 | 只看該作者
huodongjia 發表于 2020-3-10 15:23
大佬,為什么我用您的hex文件和仿真 必須把COMPIN的波特率設置為57600,MCU的晶振48MHZ才能正確輸出啊,但 ...

我和你一樣,PROTUES設置波特率57600才行,程序里面9600,哎
回復

使用道具 舉報

29#
ID:1077229 發表于 2023-5-14 22:36 | 只看該作者
不錯,有思路了
回復

使用道具 舉報

30#
ID:147329 發表于 2023-9-3 16:10 | 只看該作者
是不是鎖相環沒有工作呢?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩综合一区 | 久久成人一区 | 欧美日韩精品中文字幕 | 99久久免费观看 | 拍真实国产伦偷精品 | 国产区久久 | 91精品在线看 | av三级| 国产激情视频在线观看 | 精品视频在线观看 | 日韩成人精品 | 一级做a爰片性色毛片 | 天天操夜夜骑 | 欧美一区免费 | 国产人成精品一区二区三 | 欧美日韩一区不卡 | 日韩成人免费 | 96国产精品久久久久aⅴ四区 | 日韩一区不卡 | 久久精品69| 一二区视频| 91五月婷蜜桃综合 | japanhdxxxx裸体 | 久久精品国产久精国产 | 日本h片在线观看 | av免费网址 | 日韩欧美在线免费观看视频 | 久久久久久久久91 | 亚洲黄色av | 国产日韩欧美中文字幕 | 阿v视频在线观看 | 日韩中文不卡 | 色吧久久 | 午夜精品久久久久久不卡欧美一级 | 久草免费在线视频 | 国产欧美日韩精品一区 | 国产一区二区三区四区五区加勒比 | 免费午夜电影 | www.se91| 久久视频免费看 | 免费看国产精品视频 |