主题中讨论的其他器件:LM3S811
我正在使用计时器超时执行闪烁。 尽管我遵循数据表中的说明、但我不知道该程序为什么不起作用。 我猜是这样
条件"(TIMER0_RIS_R & 0x01) = 1 "为故障、因此 LED 不会闪烁。 有人能帮我吗!!!
int main()
{
//将系统时钟设置为8MHZ
SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ);
//启用 Timer0
SYSCTL_RCGC1_R = SYSCTL_RCGC1_TIMER0;
//禁用配置的 Timer0
TIMER0_CTL_R &=~0x01;
//选择32位计时器
TIMER0_CFG_R |= 0x00;
//选择周期模式
TIMER0_TAMR_= 0x02;
//加载值4,000,000
TIMER0_TAILR_R |= 0x3D0900;
//Star the Timer0
TIMER0_CTL_R |= 0x01;
//======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== //
//启用 GPIO //
//======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== //
//为板载 LED 和 SW2启用 GPIO 端口 F:
SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;
//启用 LED 的 GPIO 引脚(位0)
//设置方向 LED (位0)-输出
GPIO_PORTF_DIR_R = 0x01;
//启用 GPIO 引脚:
GPIO_PORTF_DEN_R = 0x01;
while (1){
如果((TIMER0_RIS_R & 0x01) = 1){
TIMER0_ICR_R |= 0x01;
// TIMER0_CTL_R &=~0x01;
GPIO_PORTF_DATA_R θ^= 0x01;
// TIMER0_CTL_R |= 0x01;
}
}
}