大家好、团队、
我正在处理每 20微秒生成一次中断的计时器代码(TB1CCR0 = SMCLK_FREQUENCY / 100000UL;)。
现在、我需要每10毫秒生成一次中断。 下面是我正在尝试的代码
#include #include #define DCOCLK_FREQUENCY 24000000UL #define MCLK_FREQUENCY DCOCLK_FREQUENCY #define SMCLK_FREQUENCY DCOCLK_FREQUENCY void Timer1_init () { // Timer1_B3设置 TB1CCTL0 = CCIE; // TBCCR0中断使能 TB1CCR0 = SMCLK_FREQUENCY / 500UL; TB1CTL = TBSSEL_SMCLK |上行模式; // ACLK、连续模式 __ bis_SR_register (GIE); //输入带中断的 LPM3 } // Timer B1中断服务例程 #if defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__) #pragma vector = Timer1_B0_vector __interrupt void Timer1_B0_ISR (void) #Elif defined (__GISR_BIST_1 )(void)(timer0_BIST_NOT_BIST_NOT_BIST_BIST_NOT_BIST_1)(void)#interrupt! #endif ^ TB1CCTL0 &=~CCIFG;P1OUT = BIT0; }
蓝线生成中断的时间最长为2毫秒。 当我将除数减少到500UL 以下时、会发出警告:"整数转换结果被截断"。 我想生成10毫秒的中断、任何人都可以帮助我
解决这个问题?