蓝桥杯单片机省赛Bug汇总

新版与老版存在温度模块的问题

只要在原来的onewire.c里面的Read_DS18B20函数里面加一个延时3us函数就行了(4us会出现温度跳变的情况 3us是最好的)(5us也可以 如果出现温度跳变 可以找这方面原因)
在这里插入图片描述

在这里插入图片描述
超声波模块新板与老版区别
老版是12us。
新板是14us。(这个时间根据板子来定,有的是13us最好)

第十三届(第二场)

1.DA输出值有问题
在这里插入图片描述
20cm以内可以正常输出1V,80cm以外可以正常输出5V 但是20cm以内跟80cm以外的电压测不出来

第十二届(第二场)

在这里插入图片描述

第九届

PWM调节进行分级,只要除不尽都会出现闪烁的情况,不清楚为什么

if(++Led_Count == 13) Led_Count = 0;//Led一个显示周期为12毫秒

这样不行
下面这种可以

if(++Led_Count == 12) Led_Count = 0;

14届模拟题1

问题EEPROM出现了保存了无法显示的问题
经过分析是因为保存的变量跟显示的变量不一样 ,变量确实是保存了;但是显示的确实另外一个变量

第十一届(第一场)

1.浮点数加减出现问题(板子问题)
思路
浮点数可以比较大小,如果是<,>,可以直接写成if (a > b) ,但如果要比较=,!= ,就需要考虑精度问题。
正常的思路,我们比较两个数大小是将两个数做差,与0比较,看是否等于0,因为浮点数在计算机里面表示问题(二进制无法精确表示一些浮点数),所以这里要改成两个数的差是否在一定精度范围内。
#define EPS 1e-6
if(((a - b > - EPS) && ((a - b) < EPS)))

14届模拟题1

1.按键按下后,数码管显示数据乱减。(板子问题)
2.【Keil】用Keil编译程序时出现 error C249: ‘DATA‘: SEGMENT TOO LARGE报错解决方案
解决方法
3.定义关于串口的变量时,容量一定要足够大,不然可能会出现串口乱输出的情况。(重点)

unsigned int Wave;//超声波距离存储数据
unsigned int Wave_Set = 30;//超声波距离设置存储数组

超声波变量定义时用char,串口会出现乱发送的情况,改成int后,错误修复。

14届模拟题2

1.加上串口后出现数码管熄灭的情况
2.串口发送数据接收不到,发现是串口减速的问题,把他删掉即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫先桑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值