我把一套正常的程序下载到另一个板子上去之后,定时器一直不进入中断,也就是说
程序相同(使用了T1 T3 T4,其中有的用到了引脚,有的只是在中断里把变量增加1)
芯片相同(不一样的板子,但用到的引脚都是直接从2530焊接出去,均无上下拉电阻)
之前的板子能正常使用定时器,新板子进不了任何一个定时器的中断。Rf,led之类的能正常跑。
求助。
Viki Shi:
原板子上可用,说明程序没有问题。这个没有现场看说不清,排查新板子硬件上有什么不一样吧
Susan Yang:
新旧板子的硬件是完全相同的?包括IO口的使用等?
eric zhu:
回复 Susan Yang:
两块板子硬件不完全相同。但晶振都是32M,定时器使用到的几个io口的外围相同。
我刚找了新版子上定时器可以进中断的一套程序。但是这套程序有两个问题
1,在旧板子上不能进中断。
2,t3做定时,每隔1ms将tick加1,比如下面两行应该可以达到延时300ms的效果,但有时候会只延时一到两百毫秒不等的时间,
count_start=GetTickCount(); while((GetTickCount()-count_start)<300);
而且这两套程序定时器的配置都是一样,难道是工程的其他地方会影响?tick值也没有在其他地方修改。
另外,之前的程序在旧板子上倒没有这第二个问题。
eric zhu:
回复 Viki Shi:
有一套之前的程序在新板子可以进中断,是不是说明新版子硬件也没问题?可这两套程序关于定时器和系统时钟的配置都是一样的。只能是工程上的其他配置影响?