您好!
任何人请告诉我如何使用 TM4C123GH6PZ 中的计时器生成1秒的延迟、我会对 TimerLoadSet 中必须传递的值感到困惑? 它是 系统时钟频率吗?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
任何人请告诉我如何使用 TM4C123GH6PZ 中的计时器生成1秒的延迟、我会对 TimerLoadSet 中必须传递的值感到困惑? 它是 系统时钟频率吗?
[引用用户="Alam"]... (海报旨在)使用计时器生成1秒的延迟... 什么值传递给 TimerLoadSet? 是系统时钟频率吗?[/quot]
您理解本质-这很好-您需要(现在)专注于"细节"。
我的偏好是"引导你"、而不是"为你做工作"。 (您表现出足够聪明和有动力)
《MCU 手册》用一整章介绍了 MCU 的定时器。 您(真的)看过吗? (不是一份5分钟的工作-对我们大多数人来说...) 显示定时器的输入-并且是系统时钟。
对"4C123手册"的进一步审查显示、"常规计时器持续时间"(从图11.6中)在采用"32位计时器和80MHz"系统时钟时延长至53.7秒。 为了实现(所需) 1秒延迟、您(可以轻松地)确定"系统时钟周期数"、当相加时、该值等于1秒。 您还可以通过16位计时器实现1秒-但这需要使用计时器预分频器-这会增加复杂性-在这里或现在不适合。
虽然"违背我的意愿"确定" 1秒延迟"是如此简单-但"很难抗拒"。 如上所述-您必须在 1秒内加载所选的"32位定时器"和出现的"系统时钟周期数"。 因此-如果"SYSCLK"为80MHz -每个 SYSCLK 周期为1/80,000,000。 您的计时器加载的时间为"80、000、000"-将消耗1秒。 然后才能耗尽。 (证明:80*10^6 * 1/80*10^-6 = 1。) 其中80*10^6=SYSCLK。 请注意、"16位定时器"可适应(仅) 65K 的加载值-这是32位定时器的对齐方式。 (当然、可以采用16位定时器+预分频(预分频)-这是留给"感兴趣的人使用的。")
对于简单的延迟、尤其是那些与显示屏配合使用的延迟、到目前为止、首选"单次触发"定时器模式。 请勿使用周期性! 当需要较长的延迟时、您可以一次性拨打"多个呼叫"。
希望(现在)您的困惑已经结束(因为"任何人"已按照要求作出回应)。
说到"混淆"-您的习惯(现在两次)中使用的" MCU 器件型号(仅限)"并不以"充分传达"您的主题和兴趣而闻名。 (这是(又一个)"论坛升级"的弱点、在这里有几位成员对此持有高度争议...) (自我奖励(即"升级?") ——最常证明是虚幻的!)