SylixOS的BSP开发实例之S3C2416 【第六篇】S3C2416 驱动之定时器

本文是SylixOS操作系统针对S3C2416处理器的BSP开发系列文章的第六篇,重点探讨了S3C2416驱动中的定时器部分。介绍了基本操作函数,并提供了相关的系统资源链接,包括系统主页、百科、下载、论坛等,便于开发者深入学习和交流。
摘要由CSDN通过智能技术生成
/*********************************************************************************************************
  定时器配置参数
*********************************************************************************************************/
#define TIMER_ENABLE            (1 << 0)                                /*  启动定时器                  */
#define TIMER_DISABLE           (0 << 0)                                /*  停止定时器                  */

#define TIMER_MANUAL_UPDATE     (1 << 1)                                /*  定时器手动重载              */
#define TIMER_UNMANUAL_UPDATE   (0 << 1)                                /*  定时器自动重载              */

#define TIMER_INVERTER          (1 << 2)                                /*  定时器输出翻转              */
#define TIMER_UNINVERTER        (0 << 2)                                /*  定时器输出不翻转            */

#define TIMER_RELOAD            (1 << 3)                                /*  循环计数                    */
#define TIMER_UNRELOAD          (0 << 3)                                /*  单次计数                    */

#define TIMER_DEADZONE          (1 << 4)                                /*  定时器0使用死区             */
#define TIMER_UNDEAD_ZONE       (0 << 4)                                /*  定时器0不使用死区           */


基本操作函数:

/*********************************************************************************************************
** 函数名称: s3c24xxTimerSetPrescaler0
** 功能描述: 设置定时器0 与 定时器1 的预分频因子
** 输    入: ucPrescaler     新的预分频因子
** 输    出: NONE
** 返    回: NONE
*********************************************************************************************************/
void  s3c24xxTimerSetPrescaler0 (unsigned char   ucPrescaler)
{
    rTCFG0 &= 0xFFFFFF00;
    rTCFG0 |= ucPrescaler;
}
/*********************************************************************************************************
** 函数名称: s3c24xxTimerSetPrescaler1
** 功能描述: 设置定时器2 3 与定时器4 的预分频因子
** 输    入: ucPrescaler     新的预分频因子
** 输    出: NONE
** 返    回: NONE
*********************************************************************************************************/
void  s3c24xxTimerSetPrescaler1 (unsigned char   ucPrescaler)
{
    rTCFG0 &= 0xFFFF00FF;
    rTCFG0 |= (unsigned int)(ucPrescaler << 8);
}
/*********************************************************************************************************
** 函数名称: s3c24xxTimerSetPrescaler
** 功能描述: 设置定时器2 3 与定时器4 的预分频因子
** 输    入: ucGroup         定时器组,0:定时器0,1   1:定时器 2,3,4
**           ucPrescaler     新的预分频因子
** 输    出: NONE
** 返    回:  0     正确
**           -1     错误
*********************************************************************************************************/
int  s3c24xxTimerSetPrescaler (unsigned char  ucGroup, unsigned char  ucPrescaler)
{
    switch (ucGroup) {
    case 0:                                                             /*  定时器组 0                  */
        s3c24xxTimerSetPrescaler0(ucPrescaler);
        break;
        
    case 1:                                                             /*  定时器组 1                  */
        s3c24xxTimerSetPrescaler1(ucPrescaler);
        break;
        
    default:                                                            /*  定时器组错误                */
        return  (-1);
    }
    
    return  (0);
}
/*********************************************************************************************************
** 函数名称: s3c24xxTimerSetDeadZone
** 功能描述: 设置 定时器0 的死区
** 输    入: ucDeadZone      死区大小
** 输    出: NONE
** 返    回: NONE
*********************************************************************************************************/
void  s3c24xxTimerSetDeadZone (unsigned char
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值