debug日记(手机打开)

1、修改延时函数发现时间并没有变化,可能是函数定义的时候,参数定义成了char类型,数据太大溢出。
2、Nrf 24l01接收失败,解决方法:先让模块上电,再让单片机上电,才能让单片机去配置模块,最后再打开串口接收数据。
3、Nrf 24l01主从设备的发送接收初始化函数要仔细校对,参数需要匹配,主从设备的地址,也就是配对密码要一致,否则,设备无法互联。
4、Nrf 24l01配置失败,无法响应单片机的指令(check函数说明配置失败),办法:检查电路,发现模块引脚安装错位,重新安装后check与模块成功对话。
5、Nrf 24l01模块一直读出0xff,查错1:先给模块上电,再给单片机上电,否则,单片机对模块的初始化配置函数将被错过,无法配置到模块上。查错2:如果模块未在工作,仍能读出数据,全是0xff,此时要排查是否有断路,也可用check函数来测试应答情况。
6、nrf24l01的接收函数调用最好放用IRQ引脚的外部中断实现,防止漏接,能减少莫名其妙的错误。
7、模块check应答正常,但未接收到数据(IRQ为高或status反馈说无数据)。方法:检查上位机是否在工作。有可能电压不足或者电路断路。
8、led指示灯不够亮,切换状态时延迟很大:查错:要跟单片机接在一路电源上,即led两端要在一个电源正负极下工作,不能跨接。
9、Nrf 24l01接收数据通过串口传给电脑显示的时候,收到的数据与发送的数据不符,方法:换一个串口调试助手(电脑软件有问题,浪费了我三个小时,突发奇想想到的办法)
10、使用另外一个c文件的函数时,报错*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL。意思是函数只声明但未定义。发现,我申明的头文件是另外一个工程的同名文件,是由于复制工程项目引起。编辑器中打开的文件都是上次编辑时遗留的文件,而非新项目的文件。一定要小心,因为都是同名的。解决方法:先关掉所有界面里的文件,重新在左侧工程树中打开。
PS:a.c使用b.c的函数,需在b.h中加上extern声明,在a.c中包含b.h。禁止直接在a.c中用extern声明函数,可能会导致修改原型后名称不一致。
11、对数组的某个元素进行竖直的处理的时候发现另外一个变量的值,随之改变。
原因:数组在定义的时候,未指定数组的大小且,元素值只写了一个零,而我目的是想定义三个元素。取数组第三个元素的时候,这个元素的地址正好在另外一个变量上,导致对数组第三个元素的处理,变成了对另外一个不相干变量的处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值