项目调试遇到空前的困难,定时器会停止计数,请高手指点

[复制链接]
 楼主| ccjgalaxy 发表于 2009-7-22 11:10 | 显示全部楼层 |阅读模式
我现在使用DM642开发板做实验<br />在bios中单独的网络通信程序,以及单独的定时器程序都运行正常,但是如果把这两个程序合在一块,定时器运行一瞬间就不运行了,不知怎么回事?<br />即前面我用LOG_printf来检验定时器的计数值cnt发现不行后,现在<br />我又用串口来检验定时器计数的cnt值(串口芯片为TL16C752B),发现电脑上的串口调试助手只能接收到<br />前面三个cnt的值,后面的就收不到了,与LOG_printf的情况一样,还请各位高手给指点一下!<br />#include&nbsp;&ltstd.h&gt<br />#include&nbsp;&ltlog.h&gt<br />#include&nbsp;&lttsk.h&gt&nbsp;&nbsp;<br />#include&nbsp;&ltsem.h&gt&nbsp;&nbsp;&nbsp;<br />#include&nbsp;&ltgio.h&gt<br />#include&nbsp;&ltcsl.h&gt<br />#include&nbsp;&ltcsl_emifa.h&gt<br />#include&nbsp;&ltcsl_timer.h&gt<br />#include&nbsp;&ltcsl_irq.h&gt<br /><br />#include&nbsp;&quot;appData.h&quot;<br />#include&nbsp;&quot;scom.h&quot;<br />#include&nbsp;&quot;seeddm642.h&quot;<br />#include&nbsp;&quot;Tcpip_loopbackcfg.h&quot;&nbsp;<br />static&nbsp;TIMER_Handle&nbsp;hTimer1;<br /><br />static&nbsp;Uint32&nbsp;TimerEventId;<br /><br />static&nbsp;int&nbsp;cnt&nbsp;=&nbsp;0;<br />static&nbsp;Uint32&nbsp;TimerControl&nbsp;=&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_RMK<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_SPND_EMUSTOP,<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_INVINP_NO,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;TINP&nbsp;inverter&nbsp;control(INVINP)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_CLKSRC_CPUOVR8,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;input&nbsp;clock&nbsp;source&nbsp;(CLKSRC)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_CP_PULSE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Clock/pulse&nbsp;mode(CP)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_HLD_YES,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Hold(HLD)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_GO_NO,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Go&nbsp;bit(GO)-<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;resets&nbsp;&&nbsp;starts&nbsp;timer&nbsp;counter<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_PWID_ONE,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Pulse&nbsp;width(PWID)-<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;used&nbsp;only&nbsp;in&nbsp;pulse&nbsp;mode<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_DATOUT_0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Data&nbsp;output&nbsp;(DATOUT)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_INVOUT_NO,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;TOUT&nbsp;inverter&nbsp;control&nbsp;(INVOUT)&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_CTL_FUNC_GPIO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Function&nbsp;of&nbsp;TOUT&nbsp;pin(FUNC)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />SEEDDM642_UART_Config&nbsp;UartConfig&nbsp;={<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01,/*寄存器IER*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x5f,/*寄存器FCR*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x03,/*寄存器LCR*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08,/*寄存器MCR*/<br />};<br /><br />main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_Config&nbsp;myTimConfig;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSL_init();<br />/*.................网络通信部分.......................*/<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_enableCaching(CACHE_EMIFA_CE00);<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_enableCaching(CACHE_EMIFA_CE01);<br />&nbsp;&nbsp;&nbsp;&nbsp;DAT_open(DAT_CHAANY,&nbsp;DAT_PRI_LOW,&nbsp;DAT_OPEN_2D);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SCOM_init();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_setL2Queue(0x3,&nbsp;0x7);<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_setL2Queue(0x1,&nbsp;0x7);<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_setPriL2Req(CACHE_L2PRIHIGH);<br />&nbsp;&nbsp;//&nbsp;create&nbsp;all&nbsp;SCOM&nbsp;and&nbsp;message&nbsp;objects&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SCOM_create(&quot;NETOK&quot;,&nbsp;NULL);&nbsp;<br />&nbsp;&nbsp;/*..............................定时器部分............*/<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hTimer1&nbsp;=&nbsp;TIMER_open(TIMER_DEV1,&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TimerEventId&nbsp;=&nbsp;TIMER_getEventId(hTimer1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_globalDisable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_nmiDisable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_globalEnable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_nmiEnable();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_map(TimerEventId,&nbsp;15);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_reset(TimerEventId);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_reset(IRQ_EVT_EXTINT5);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEEDuartHandleA&nbsp;=&nbsp;SEEDDM642_UART_open(SEEDDM642_UARTA,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEEDDM642_UART_BAUD9600,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&UartConfig);<br />&nbsp;&nbsp;&nbsp;/*&nbsp;Open&nbsp;UARTB*/<br />&nbsp;&nbsp;&nbsp;&nbsp;SEEDuartHandleB&nbsp;=&nbsp;SEEDDM642_UART_open(SEEDDM642_UARTB,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEEDDM642_UART_BAUD9600,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&UartConfig);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myTimConfig.cnt&nbsp;=&nbsp;0x0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myTimConfig.ctl&nbsp;=&nbsp;TimerControl;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myTimConfig.prd&nbsp;=&nbsp;0x00124f8;//1ms定时,即每1ms,cnt计数增1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_config(hTimer1,&nbsp;&myTimConfig);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(TimerEventId);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_enable(IRQ_EVT_EXTINT5);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIMER_start(hTimer1);<br />}<br />void&nbsp;CLK_cnt()<br />{<br />&nbsp;&nbsp;&nbsp;cnt++;<br />&nbsp;&nbsp;&nbsp;&nbsp;SEEDDM642_UART_putChar(0,cnt);//在串口调试助手中只能接收到前三个cnt的值,不知为什么?<br />}<br /><br />void&nbsp;Uart_isr(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uint16&nbsp;Data_Temp;&nbsp;&nbsp;&nbsp;&nbsp;//Int16&nbsp;status;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Data_Temp&nbsp;=&nbsp;SEEDDM642_UART_rget(SEEDuartHandleA,0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SEEDDM642_UART_putChar(0,&nbsp;Data_Temp);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />
 楼主| ccjgalaxy 发表于 2009-7-22 14:39 | 显示全部楼层

用bios 编写的定时和串口程序合在一起时是没问题的

真奇怪为什么一加上网络通信的程序,定时器就运行一瞬间就停止了.<br />渴望各位前辈给指点一下!
yxwsz 发表于 2009-7-23 09:39 | 显示全部楼层

RE

你写的ISR代码,和下面的效果差不了多少<br /><br />void&nbsp;Uart_isr(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />
 楼主| ccjgalaxy 发表于 2009-7-23 13:35 | 显示全部楼层

好像与Uart_isr没关系

我的Uart_isr代码没有问题,与网络通信放在一起测试过,就是<br />void&nbsp;CLK_cnt()<br />{<br />&nbsp;&nbsp;&nbsp;cnt++;<br />&nbsp;&nbsp;&nbsp;&nbsp;SEEDDM642_UART_putChar(0,cnt);//在串口调试助手中只能接收到前三个cnt的值,不知为什么?<br />}<br />这个代码有问题,如果没有网络通信部分的话,在电脑的串口调试助手里能正确的测试到cnt的值<br />但是一旦加上网络通信,就只能接收到三个cnt的值为&nbsp;01&nbsp;02&nbsp;03<br /><br />如果我在cnt++处设个断点的话,先全速运行到断点处,然后按F10单步运行过去,然后再全速运行,如此反复,就可以得到所有cnt的值<br />但是为什么不设断点的时候全速运行就只能得到3个值呢?<br /><br />yxwsz谢谢您的多次指点,再多帮分析一下,非常感谢!<br />各位大侠也请给指点一下!
 楼主| ccjgalaxy 发表于 2009-7-23 15:24 | 显示全部楼层

加点延时就可以了,郁闷,原来咋就没发现呢?

void&nbsp;CLK_cnt()<br />{<br />&nbsp;&nbsp;&nbsp;cnt++;<br />&nbsp;&nbsp;&nbsp;timedelay();//加的一段延时<br />&nbsp;&nbsp;&nbsp;&nbsp;SEEDDM642_UART_putChar(0,cnt);<br />}<br />现在虽然可以了,但我不明白为什么必须加上一段延时,<br />yxwsz再给分析一下,谢谢!
 楼主| ccjgalaxy 发表于 2009-7-24 10:18 | 显示全部楼层

哎,郁闷

加延时以后,串口通了,但网络又不通了,真郁闷<br />还请哪位高手给指点一下
yxwsz 发表于 2009-7-29 22:40 | 显示全部楼层

RE

SEEDDM642_UART_putChar(0,cnt);<br />函数里面应该是一个循环判断发送状态的语句,会void&nbsp;CLK_cnt()<br />在等待。
zhangsifu 发表于 2009-8-2 13:17 | 显示全部楼层
本帖最后由 zhangsifu 于 2009-8-2 13:33 编辑

看看停的时候的寄存器内容,是不是有的被改写了。
就像调查犯罪现场一样,先把现场证据搜集齐全。做程序调试也是一样,遇到很难想通的问题,先别去猜测,先把原始数据打印出来,一般你看到原始数据就知道错在哪里了。
 楼主| ccjgalaxy 发表于 2009-8-5 10:55 | 显示全部楼层
zhangsifu请问下,我设置的Timer1的相关寄存器的值为:
myTimConfig.cnt = 0x0;
myTimConfig.ctl = 0x00000305;
myTimConfig.prd = 75000;
运行程序停止后寄存器值变为:
CTL1        00000385
PRD1        000124F8
CNT1        00000000
请问这应该怎么分析?
 楼主| ccjgalaxy 发表于 2009-8-12 11:21 | 显示全部楼层
等待高手归来!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部