求助!用输入捕获写DHT11驱动程序时遇到delay卡死

2019-07-20 01:18发布

硬件调试,发现卡死在delay里面,然后查看寄存器发现,计数完成之后CTRL寄存器的COUNTFLAG位没有置位(手动点一次一次循环可以,但是点全速运行就不行),有趣的是,我把用delay的地方换成了wile循环,试图代替这个延时,再调试,居然在while 卡死了。这个问题我已经各种找资料找从昨天下午到现在,没有解决,实在感觉自己一个人无能为力了,求大家帮我解决一下这个问题
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-07-20 02:18
输入捕获写驱动,是啥意思?我们不是提供驱动了么?你要改成输入捕获来搞?
乾筱怿
2楼-- · 2019-07-20 02:23
正点原子 发表于 2019-6-11 02:10
输入捕获写驱动,是啥意思?我们不是提供驱动了么?你要改成输入捕获来搞?

嗯是的,我想用输入捕获来试一下,目前我已经发现不是卡在了delay而是我加了校验函数,校验失败就会循环取值,然后校验一直过不了,因为delay占了大部分时间所以每次暂停都在delay,后来我用例程测试了一下,传感器没有问题,但是我硬件仿真的时候,用输入捕获得到的数据老是有问题,甚至本来该为零的小数位也不是零,所以校验一直通不过。
目前我还是没有搞懂为什么用输入捕获就会出现这些问题。
孙贺泷
3楼-- · 2019-07-20 02:55
 精彩回答 2  元偷偷看……
乾筱怿
4楼-- · 2019-07-20 03:56
孙贺泷 发表于 2019-6-14 08:41
应该是没有设置输入捕获中断,所以一直卡在delay函数里出不来,如果加上输入捕获中断并开启中断应该就不 ...

中断我设置了的,我目前初步推断是我中断函数内容太多了,导致在中断里面的时候错过了DHT11发过来的一部分数据导致读数有误

一周热门 更多>