我刚刚动手使用这个 Tiva 开发板、并尝试让 LED 闪烁。 数据表建议复位时、PIOSC (16MHz)被选为系统时钟。 但是、当我尝试向 SysTick 加载寄存器传递16000000以使 LED 以1Hz 的频率闪烁时、LED 的闪烁速度似乎比1Hz 快。 我将其连接到示波器、发现频率为1.5Hz (320ms 高电平和低电平时间)。
以下是我的代码,如果它有帮助:
#include "TM4C123.h" //设备标头
void blinkLED (int count);
int main()
{
sysctl->RCGCGPIO |=1<<5;//时钟端口 F
GPIOF->DIR |=(1<3);//pF3配置为输出
GPIOFF->DEN |=(1<<3);//在 PF3<=(void
Data Handler){=(blink-}(void }-1});//翻转数据处理程序(while 循环计数(void }-1<1<1}(void ^)//从0
SysTick ->VAL = 0开始;
SysTick ->CTRL = 7;
}
我甚至注意到在对 UART 驱动程序进行编程以与 PC 通信时出现的问题。 有时、它会显示垃圾字符(波特率计算采用16MHz 系统时钟)。