本文主要是介绍proteus+stm32+CubeMX+dht11+lcd1602,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
浅浅记录下过程遇到的问题🤡🤡🤡
1
- 供电网配置错误(加上就好了 新起个名也会出这个 / 电源不起名 不创建估计项目也会)
- 没zet6的 proteus 里 固件库 账号注册半天没成 就用的stm32F103R6的
- 然后发现单片机不输出高低电平 proteus里 设置晶振就好了
2
- 想用原子dht11代码 改个启动文件 不行 变量太多 不知道问题会出在哪
- 启动文件(包含中断服务函数声明) 可以用cubeMX生成 复制过来
- 发现MDK里 芯片也要选(不止启动文件好像)
- 这里可以看当前的
- 这还可以改
- 这包含的也不对
3
- CubeMX生成开始 先点了个灯 然后改代码 proteus里加虚拟终端 printf用到串口 复习了一下串口
- cubemx 以及串口 看这个链接: link
- cubemx生成 的工程解读包括里面的注释 链接: link
- 这看了一下原子cubemx生成的 发现HAL库自带个延时 ms级的
- 记得改一下魔术棒
- 虚拟终端及一个类似电平转化链接和串口cubemx 配置: link
- 链接: link 这两都介绍了虚拟终端 以及虚拟终端和pc的上位机通信?
4
- 不打印温度 找错误
- 看dht时序延时 发现都用成Hal的延时了 都是ms的 加上正点sys文件夹里的 delay.c delay.h 还要加分组才行
- 开漏输出时 也可读取
- 改了延时 又再keil里 测了时间没问题(R6的也可以用ZET6的仿真 printf 可选勾选魔术棒里的微库 还要include stdio)
- 就是dht不响应 不拉低 改了时间也不行
- 最后改了 IO口好了
5
- 加上LCD1602
- LCD1602: link
- 打印指针这么邪门的吗
- 好像是这两 指针指向一个地址了 (估计是因为定义的时候 没给具体的 默认0了?)
- 按照原子做法 main里面定义变量 然后给地址 确实好
这篇关于proteus+stm32+CubeMX+dht11+lcd1602的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!