基本上, 中断和主程序中都用AD转换的设计思想就是错误的。 就是铁了心要这么做,BDM是干吗的?赶紧追踪调试啊。程序死哪儿啦?那里是些什么代码?干吗在那里死循环啦? busdriver should drive for something, not wait for something. Am I right to say that?
我现在把AD转换都放在定时中断里面。为节约中断时间,把转换结果的相关运算都放在主程序中。不明白的是“基本上, 中断和主程序中都用AD转换的设计思想就是错误的。”,could you tell me why? 我当然做过调试拉:AD转换用的查询等待,程序就死在哪里,查询不到转换完成标志。 另外:在子程序中定义了局部变量,程序逻辑就乱了,把变量都做成全局变量,程序正常,,是不是由于堆栈不够了?但是把栈空间增加也不能解决问题。谢谢!!(栈空间由原来的256bytes增加到512bytes,total RAM is 1k bytes,RAM足够)