最近用STC11的片子 做一个仪表。但是各种奇怪的问题。目前没解决的两个1:一个IIC器件驱动函数只要有调用了延时函数,就会花屏。这个文件是以往成熟产品中整体移植过来的。刚开始都没问题,后来一天中午睡个午觉回来就出现问题,一点点排查发现是这个延时函数导致的。但是这个问题不科学啊。我最开始以为是指针溢出。然后四处查找根本没有这方面的问题。最后花了一天时间锁定在这里。只要在这个函数中不调用延时就不会显示花屏。
2:定时中断问题,在一些函数能定时能中断,但是另一些函数却不能。中断初始化 严格按照STC的例程来写的,而且只开一个定时中断也不行。这些函数都没有对中断操作的动作。
今早我把不行的一个函数调整了下显示路径,内容没有任何改动,包括函数调用关系都没变,居然就行了。
3,第二个问题勉强解决后我又开启了TIME0的定时功能(没有开启中断,采用查询的方式做延时),中断是定TIMER1。然后发现死机。
之前还遇到过stc串口问题。能发送,不进接收中断,后来换了个mcu又莫名其妙的好了。换回原来不行mcu也行了。无语。。。。。
我的问题是这些问题大概是什么问题,是我自己,还是编译器由于没有stc数据库的问题(我现在选的是AT89C55WD)的数据库,也试过在网上下载的STC数据库。还是STC片子本身有什么问题我不知道的。
第二个问题:问问大侠们如果你们遇到这种问题从何下手。目前很茫然,一阵瞎找没效率还累人 |