exynos4412 的timer3定时器代码
时间: 2023-07-09 20:26:16 浏览: 172
以下是一个使用 Exynos4412 的 Timer3 定时器进行延时的示例代码:
```c
#include "s5p4412.h"
void delay_ms(unsigned int ms)
{
unsigned int i;
unsigned long long start_time, current_time;
start_time = readl(TIMER3_BASE + TCC);
while (1) {
current_time = readl(TIMER3_BASE + TCC);
if (current_time - start_time >= ms * 1000) {
break;
}
}
}
int main(void)
{
/* 配置 Timer3 */
/* 1. 设置 Timer3 的时钟源为 24MHz */
writel(TIMER3_BASE + TCFG0, 0x0);
writel(TIMER3_BASE + TCFG1, 0x0);
/* 2. 设置 Timer3 的分频系数为 1 */
writel(TIMER3_BASE + TCON, 0x2);
/* 3. 等待 1us,让 Timer3 稳定 */
delay_ms(1);
/* 使用 Timer3 进行延时 */
while (1) {
/* 延时 1s */
delay_ms(1000);
/* 在这里添加你的代码 */
}
return 0;
}
```
需要注意的是,以上代码仅供参考,具体实现方式可能会因为不同的系统环境、编译器等因素而有所不同。建议在编写代码前,先查看 Exynos4412 的技术手册或相关的开发文档,以确保正确配置 Timer3 定时器。
阅读全文