Proteus仿真STM32读取DHT11并串口打印输出

这篇具有很好参考价值的文章主要介绍了Proteus仿真STM32读取DHT11并串口打印输出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       心血来潮,来试试proteus里STM32的仿真功能,我选用的是STM32F103C8T6这款入门级芯片。

       踩了不少坑,因此写篇博文记录一下。

1. KEIL5  v537版本以后 VERSION5 版本解释器缺失

       开始采用的是嵌入式技术公开课邴哲松老师写的代码,是keil4版本,采用最新的V6.19解释器报错。

安装最新版keil5编译报错*** target ‘target 1‘ uses arm-compiler ‘default compiler version 5‘ which i,keil5.37版_keil5编译miss_Score A的博客-CSDN博客

      解决方案:

        去ARM官网注册账号,拿到安装包,独立安装。

                https://developer.arm.com/downloads/-/legacy-compilers

      Proteus仿真STM32读取DHT11并串口打印输出

 点击如上位置。

Proteus仿真STM32读取DHT11并串口打印输出

选择合适的版本。

Proteus仿真STM32读取DHT11并串口打印输出

注意:推荐R504版本,反正R506(960)版本还是报错 .

然后添加至下载队列,就拿到安装包了。

后续操作参考这篇,注意安装的时候一定要修改至对应的路径。

C:\Keil_v5\ARM\ARM_Compiler_5.06u7     名字随便写 我后面是5.04u1uses ARM-Compiler ‘Default Compiler Version 5‘ which is not available. MDK5.37安装ARM_Compiler_5_呈叙墨客的博客-CSDN博客

Proteus仿真STM32读取DHT11并串口打印输出

至此,KEIL4写的代码KEIL5报错的坑已经解决。 

2.STM32串口打印乱码

初始布置参考这篇,芯片选STM32F103C8,编译器空着

使用Proteus仿真运行stm32程序_Mirecz的博客-CSDN博客

电路布置

Proteus仿真STM32读取DHT11并串口打印输出

PA7---- DHT11的数据线

PA9---- 接UART1的RX,复用推挽输出

(1)报错 No power supply specified for net VDDA/VSSA in Power Rail Configuration

Proteus仿真报错——No power supply specified for net VDDA/VSSA in Power Rail Configuration_Ren-yuhao的博客-CSDN博客_proteusnopowersupply

VDDA 、VSSA移到对应的VDD/VCC 和GND即可

(2)串口打印乱码

        主要检查几个问题:

        1. 波特率是否正确,显示器的波特率和代码的波特率要对应。只要相同就可以,9600 115200都是可以的

 Proteus仿真STM32读取DHT11并串口打印输出

 Proteus仿真STM32读取DHT11并串口打印输出

        2. 晶振频率设置

Proteus仿真STM32读取DHT11并串口打印输出

 和<stm32f10x.h>里的

Proteus仿真STM32读取DHT11并串口打印输出

 这个里的一个必须要对应。

 然后非常关键的一步!!!注意注意注意

在main()函数里的第一行添加

RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);//用proteus仿真用到,一定要写在开头。

或者 

RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);//用proteus仿真用到,一定要写在开头。

代码正确示范:

Proteus仿真STM32读取DHT11并串口打印输出

上面HSE是8M,那就开HSE 8M,然后仿真开8M即可。。。 

务必确定其中的一个开启,并且是8Mhz。

然后添加hex文件,点击仿真按钮就可以顺利仿真了。

正确示范:

Proteus仿真STM32读取DHT11并串口打印输出

 要是晶振频率不正确,会出现乱码。比如我这里在proteus里设置 9M。

错误示范:

Proteus仿真STM32读取DHT11并串口打印输出

补充问题:用到了滴答定时器,但是设置滴答定时器的是满频率72Mhz,由于此处晶振变成了8M,因此滴答定时器的计时就不准确了。原来定时1s,现在是9s。

因此作如下粗略修改。(不推荐,最好还是把滴答定期的频率改成8M)

Proteus仿真STM32读取DHT11并串口打印输出

希望对各位有用!!!! 文章来源地址https://www.toymoban.com/news/detail-466613.html

到了这里,关于Proteus仿真STM32读取DHT11并串口打印输出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32学习:串口通讯(proteus仿真)

    本次通过CubeMx+proteus进行stm32串口仿真 具体功能: 1、开机后,向串口1发送“Welcome” 2、串口1接收字节指令“0xa1\\\",打开LED1,回传“LED1 OPEN!” 3、串口1接收字节指令“0xa2\\\",关闭LED1,回传“LED1 Close!” 4、在串口发送过程中,打开LED2作为发送数据指示灯 1、COMPIM元件 作用:把仿

    2024年02月03日
    浏览(32)
  • stm32读取DHT11温湿度传感器

    我们知道DHT11是单总线协议,只有一根数据线。 且内部有个上拉电路(下图)。那么数据线默认就是高电平那接下来就可以讲解主机如何和DHT11通讯的 读取DHT11的芯片手册,可以知道,DHT11一次完成的数据输出是40bit,高位先出。 格式:8bit湿度整数数据+8bit湿度小数数据 +8bi温

    2024年02月09日
    浏览(31)
  • STM32F103系列 Proteus仿真 4*4矩阵键盘 串口+LCD1602显示

            最近一直在肝STM32系列芯片,这里我想要检验一下自己的初步学习成果,简单的运用一下IO口的配置,代码使用正点的库函数模板写的,仿真软件是Proteus 8.13,代码编写编译软件是Keil MDK5,仿真芯片是STM32F103R6小容量芯片。 目录 一、硬件设计  二、软件设计 1、L

    2024年02月03日
    浏览(37)
  • Proteus仿真stm32f103r6输出PWM/正弦波

    Proteus仿真stm32f103r6输出PWM/正弦波  

    2024年01月23日
    浏览(37)
  • STM32利用标准库编写同时输出4路PWM信号的程序(Proteus)仿真

    先看看结果: 这个是根据上午发的文章的基础上更改的,很简单,只是用了一个定时器,初始化了4个比较器而已,就可以单独的控制每一路PWM的占空比了,好了,把源文件展示一下,完事去接孩子放学。 PWM.c文件: PWM.h文件: main.c主函数文件: 其实整个过程只是增加了一个

    2024年04月09日
    浏览(35)
  • STM32+DHT11 读取数据为0或温湿度过高的常见原因及解决办法

    如果代码正确的话,我遇到的温湿度为0的原因主要还是电源的问题,比如没有给开发板单独供电或者连线松动。因为有时候插着ST-Link连接到了电脑,开发板和DHT11的电源指示灯都会亮,但还是需要给开发板连上电源,这样更稳定,插上电源之后复位一下读到的温湿度就正常了

    2024年02月06日
    浏览(28)
  • 【Proteus仿真】基于DHT11的温度测量,LCD1602显示

    测试工具 软件:Proteus8.13 仿真器件:蜂鸣器警报,按键输入,DHT11温湿度,传感器LCD1602显示。 功能叙述 利用DHT11检测环境中的温湿度,并实时显示到LCD1602上,且在实时显示数据的后面,还显示有当前设定的预警上限值。实时数据一旦大于设定的预警上限的值,就会触发蜂鸣

    2024年02月07日
    浏览(29)
  • STM32CubeMX 读取DS18B20温度传感器数据串口打印显示

    本文要做的所有工作标题基本都包括了,读取温度传感器的温度数值,再通过串口打印到串口助手; 好多博主大神的教程我按步骤做了之后总是出现程序不报错并且检测不到传感器的情况,后来找到原因并且修改后调试正常。 我用的是普中科技的实验板,主控芯片为STM3210

    2024年02月05日
    浏览(63)
  • 51单片机DHT11温湿度控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

    51单片机DHT11温湿度控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频) 仿真图 proteus8.9及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0044 运用所学知识,制作一个基于51单片机的温湿度控制器proteus仿真设计 1、按键调温湿度上下限数值的,温湿度不在上

    2024年02月09日
    浏览(44)
  • 【022】基于51单片机的RS-485无线DHT11温湿度检测系统Proteus仿真设计

    (1)、基于51单片机的RS-485无线DHT11温湿度检测系统proteus仿真设计一份; (2)、基于51单片机的RS-485无线DHT11温湿度检测系统proteus仿真设计keli源代码一份; (3)、基于51单片机的RS-485无线DHT11温湿度检测系统proteus仿真设计视频讲解一份; (1)、要求以51系列单片机为核心,

    2024年02月06日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包