ARM定时器
来源:互联网 发布:淘宝店铺做淘宝客 编辑:程序博客网 时间:2024/05/27 14:13
time.h
#ifndef _S3C2451_TIMER_H#define _S3C2451_TIMER_H#include "typedef.h"typedef struct{ U32 TCFG0; U32 TCFG1; U32 TCON; U32 TCNTB0;U32 TCMPB0;U32 TCNTO0;U32 TCNTB1;U32 TCMPB1;U32 TCNTO1;U32 TCNTB2;U32 TCMPB2;U32 TCNTO2;U32 TCNTB3;U32 TCMPB3;U32 TCNTO3;U32 TCNTB4;U32 TCNTO4; }volatile *TIM_MemMapPtr;#define TIM_BASE_PTR ((TIM_MemMapPtr)0x51000000)typedef enum{ time_ch0=0, time_ch1, time_ch2, time_ch3, time_ch4 }TIM_typedef;typedef struct{ unsigned int TIM_Scale; unsigned int TIM_Prescale; unsigned int TIM_Countval; unsigned int TIM_Compareval; }TIM_basetypedef;extern void TIM_init(TIM_typedef timx,TIM_basetypedef tim_basetypedef);extern void TIM_Interrupt_init(TIM_typedef timx,U32 addr);extern U16 TIM_getcount(TIM_typedef timx);#endiftimer.c
#include "s3c2451_timer.h"#include "s3c2451_vector.h" void TIM_init(TIM_typedef timx,TIM_basetypedef tim_basetypedef) { TIM_BASE_PTR->TCFG0 &=~0xff; TIM_BASE_PTR->TCFG0 |=199; TIM_BASE_PTR->TCFG1 &=~0X0F; TIM_BASE_PTR->TCFG1 |=0X2; TIM_BASE_PTR->TCNTB0=41250; TIM_BASE_PTR->TCMPB0=20625; TIM_BASE_PTR->TCON |=(1<<3); TIM_BASE_PTR->TCON |=(1<<1); TIM_BASE_PTR->TCON |=(1<<0); TIM_BASE_PTR->TCON &=~(1<<1); } U16 TIM_getcount(TIM_typedef timx) { return TIM_BASE_PTR->TCNTO0;}void TIM_Interrupt_init(TIM_typedef timx,U32 addr){ if(timx==time_ch0){ pISR_TIMER0=addr; }}
阅读全文
0 0
- ARM定时器
- ARM定时器
- ARM定时器
- 【ARM】arm定时器
- ARM中定时器浅谈
- ARM看门狗定时器设置
- arm定时器0
- arm定时器4
- ARM,S3C2410中脉宽调制定时器
- ARM的定时器的学习
- ARM裸机之定时器中断
- ARM的PWM定时器1
- ARM的PWM定时器2
- ARM的看门狗定时器进阶
- ARM学习——定时器PWM
- ARM学习之定时器Timer0实验
- arm定时器初值及公式 的熟悉
- [STM32学习笔记2]SysTick定时器 - [ARM]
- 打印1到最大的n位数
- Tensorflow深度学习之二:简单卷积神经网络CNN
- ubuntu live cd修复grub引导项
- How Many Nines (前缀和 + 模拟日期)
- LA 4794(dp+枚举子集)分享巧克力
- ARM定时器
- 进程相关知识的整理
- python弱引用使用介绍
- PHP实现生成word文档
- Log4J入门教程(一) 入门例程
- Wi-Fi CSI的那些事(一)
- 图的邻接表表示法
- jboss小结
- 面试题58:二叉树的下一个结点