19Ti杯调试笔记

本文记录了作者在19Ti比赛中遇到的调试问题,包括压力和液位传感器的调试,IIC通信理解及sprintf函数的使用误区。通过案例分析了IIC通信中的应答信号原理,强调了变量类型匹配的重要性,并分享了在Keil中进行软件模拟调试的技巧。
摘要由CSDN通过智能技术生成

8月是忙碌的1个月,这个月一路奔波,先是去了兰州,而后去了南京,做了两个比赛,很刺激。
先罗列一下几个问题,下文一一解释:
1、称重(压力)传感器Hx711调试;
2、水压(液位)传感器Lwp5010调试;
3、iic通信进一步理解(应答、主机向总线上读取一字节数据子函数);
4、sprintf函数用法;

回答:
1、主要是错误使用sprintf函数,导致在oled上显示不到正确的目标数据。
原错误书写方式:
sprintf(Weight_arr, “Wg:%.4f”, Weight_Shiwu);
OLED_ShowString(3, 5, Weight_arr, 12);

错误原因:sprintf( arr, “ ”, a);引号内为格式化方式,要和后面的变量的类型要对应,%f为浮点型数据格式化,而在源文件中Weight_Shiwu被定义为常整形,所以使用%f是不合适的。
写代码的建议,配置好串口模块,利用串口模块将数据打到串口上进行观察,以对比观察各个节点的数据的异同点;
或,学会debug;
补充错误:官方代码中定义Weight_Shiwu为long int型变量,若:
这样书写: sprintf(We

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值