你好,
我使用timer2作为PWM在压电上播放声音。如果我只在我的设备上闪光应用程序,我的整个应用程序工作正常。但如果我把它和bootloader结合,然后在设备上闪光,所有的功能都工作得很好,逸出在timer2上运行的piezo。
我错过了什么?
我还看到,如果我同时使用timer2和timer0,那么所有的事情都工作得很好。但是我移除timer0,那么timer2也停止工作。目前,我使用的是app_easy_timer()函数而不是timer0,这就是问题产生的方式。
好吧,我找到了。
实际上,当初始化timer0时,我调用了following函数。set_tmr_enable (CLK_PER_REG_TMR_ENABLED);set_tmr_div (CLK_PER_REG_TMR_DIV_8);
因此,它启用了timer0和timer2时钟。但是由于我已经删除了timer0初始化代码,timer2时钟源也处于默认(禁用)状态。
现在,我在timer2初始化的时候添加了上面提到的函数,它现在工作得很好。
但是,我仍然没有得到如果我不集成辅助引导加载程序,那么timer2完美地工作。如果我集成了辅助引导加载程序,那么必须完成timer2时钟初始化。
嗨Ankit,
您看到的区别是,当设备通过JTAG或通过辅助引导加载程序(使用AN_B_001头或多个映像配置)或主引导加载程序闪烁时?最可能的问题是设备在运行实际fw之前做了什么,以及在实际fw运行之前CLK_PER_REG的状态是什么,所以引导加载程序正在执行什么(主引导加载程序和辅助引导加载程序都使用timer0来度量时间),因为直接从JTAG下载映像并执行引导加载程序是非常不同的。无论如何,在实际使用计时器之前,您应该确保设备上用于计时器的外围时钟是启用的。
由于MT_dialog
我还看到,如果我同时使用timer2和timer0,那么所有的事情都工作得很好。但是我移除timer0,那么timer2也停止工作。
目前,我使用的是app_easy_timer()函数而不是timer0,这就是问题产生的方式。
好吧,我找到了。
实际上,当初始化timer0时,我调用了following函数。
set_tmr_enable (CLK_PER_REG_TMR_ENABLED);
set_tmr_div (CLK_PER_REG_TMR_DIV_8);
因此,它启用了timer0和timer2时钟。但是由于我已经删除了timer0初始化代码,timer2时钟源也处于默认(禁用)状态。
现在,我在timer2初始化的时候添加了上面提到的函数,它现在工作得很好。
但是,我仍然没有得到如果我不集成辅助引导加载程序,那么timer2完美地工作。如果我集成了辅助引导加载程序,那么必须完成timer2时钟初始化。
嗨Ankit,
您看到的区别是,当设备通过JTAG或通过辅助引导加载程序(使用AN_B_001头或多个映像配置)或主引导加载程序闪烁时?最可能的问题是设备在运行实际fw之前做了什么,以及在实际fw运行之前CLK_PER_REG的状态是什么,所以引导加载程序正在执行什么(主引导加载程序和辅助引导加载程序都使用timer0来度量时间),因为直接从JTAG下载映像并执行引导加载程序是非常不同的。无论如何,在实际使用计时器之前,您应该确保设备上用于计时器的外围时钟是启用的。
由于MT_dialog