|
发表于 2022-3-24 22:10:40
|
显示全部楼层
本帖最后由 慕名而来 于 2022-3-24 22:13 编辑
这么长的代码调试真的不是三言两语能说清的,分享一点建议,有兴趣的可以试试,但只是一点儿我调试程序的方法、有问题也还是要自己琢磨解决的。涉及显示的程序总是要从显示函数开始调试,方法很简单,就是先删除主循环中的所有代码,只加入显示函数看看显示现象,例如:
void main()
{
***//这里原来的内容不变
while(1)
{
display();
}
}
编译后会出现L16****的警告,只要没有错误就可以下载来看显示,如果无显示则查找这个函数的毛病,如果显示4个0是正常的,此时只需要修改第34行的数组,RTC_Data[7]={0,1,2,3,4,5,6}; 此时如果显示正常就说明显示函数可以使用了,而后改回原来的RTC_Data[7];
再次修改主循环的代码:
while(1)
{
Read_RTC();
display();
}
}
再次下载看显示,正常情况下应该能看到时钟走时的显示,一旦显示正常了就说明显示函数、3231的驱动都没问题了,可以继续其他的调试了。
另外,你的18b20代码貌似没有被利用到。
|
|