/*********************************************************************************************************
定时器配置参数
*********************************************************************************************************/
#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 ucDeadZone)
{
rTCFG0 &= 0xFF00FFFF;
rTCFG0 |= (unsigned int)(ucDeadZone << 16);
}
/*********************************************************************************************************
** 函数名称: s3c24xxTimerSetMuxCnt
** 功能描述: 设置定时器的分频器
** 输 入: ucTimer 定时器
** ucDivider 分频值
** 0000 = 1/2 0001 = 1/4 0010 = 1/8
** 0011 = 1/16 01xx = External TCLKx
** 输 出: NONE
** 返 回: 0 正确
** -1 错误
*********************************************************************************************************/
int s3c24xxTimerSetMuxCnt (unsigned char ucTimer, unsigned char ucDivider)
{
switch (ucTimer) {
case 0: /* 定时器 0 */
rTCFG1 &= 0xFFFFFFF0;
rTCFG1 |= ucDivider;
break;
case 1: /* 定时器 1 */
rTCFG1 &= 0xFFFFFF0F;
rTCFG1 |= (ucDivider << 4);
break;
case 2: /* 定时器 2 */
rTCFG1 &= 0xFFFFF0FF;
rTCFG1 |= (unsigned int)(ucDivider << 8);
break;
case 3: /* 定时器 3 */
rTCFG1 &= 0xFFFF0FFF;
rTCFG1 |= (unsigned int)(ucDivider << 12);
break;
case 4: /* 定时器 4 */
rTCFG1 &= 0xFFF0FFFF;
rTCFG1 |= (unsigned int)(ucDivider << 16);
break;
default: /* 定时器错误 */
上一篇:SylixOS的BSP开发实例之S3C2416 【第五篇】S3C2416 启动模式之 NandFlash
下一篇:[初级教程]samsung s3c2416x 的启动方式
推荐阅读最新更新时间:2024-11-08 10:30
推荐帖子
- 运算放大器参数解析与LTspice应用仿真》读书笔记二 基尔霍夫定 叠加定律 戴...
- 基本概念基尔霍夫定律(1)1、支路:(1)每个元件就是一条支路。(2)串联的元件我们视它为一条支路。(3)流入等于流出的电流的支路。2、节点:(1)支路与支路的连击点(2)两条以上的支路的连接点。(3)广义节点(任意闭合面)。3、回路:(1)闭合的支路。(2)闭合节点的集合。4、网孔:(1)其内部不包含任何支路的回路。(2)网孔一定是回路,但回路不一定是网孔。基尔霍夫电流定律简记为KCL,
- damiaa 模拟电子
- 基于OPA842的高频电路的电压跟随器
- 本人菜鸟设计了一个OPA842的电压跟随器,用在电赛的高频题上,为了避免模块之间阻抗匹配问题,所以在每个模块后面接了一个电压跟随器。大家帮我看看我设计的电压跟随器对不对或者有什么不足的地方基于OPA842的高频电路的电压跟随器-IN与Out之间不要直接短接,用25电阻连接。 和输入端进行匹配? 限流?大凡这种带宽很宽的运放,要小心阅读芯片说明书。 我确实没仔细看,数据手册我当时就看了外围电路,发现没有跟随器我就跳过了,长记性了
- 氧离子di PCB设计
- 电压跟随器
- 这个电压跟随器的输入电压与输出电压差别竟然这么大,电流源转电压做输入信号,,本来只要直接放大就好,可放大倍数仿真与理论相差太大就想加个电压跟随器稳定输入信号,可现在又出现了新问题电压跟随器不要太相信仿真,仿真与实际相差太大,一定要实际测试,可以先用面包板搭建电路电路不对,输入应该电压源。如果用电流源,得有负载电阻。 我用那个电流源模拟我的硅光电池啊,电流源并上一个电阻,运放的输入端就是电压啊,难道不是吗?看了很多硅光测照度的文章都是这样把电流源转电压的呀 那个电流源是用来
- 井子92 模拟电子
- 写给平头哥RVB2601入围网友(参考资料、技术支持、经验分享、作品提交和评选细则)
- 活动详情:点此了解100块板卡全部派发给网友了,板卡到手后,网友就可以开启动手实战之旅啦,除了最终作品提交,还需要网友DIY过程发帖分享经验,以下对相关部分进行说明。发帖分享1、制作过程的经验分享,须在本活动专区首发;2、发布后,还需同步到平头哥社区一份,点此查看如何同步。作品提交1、作品提交截至日期到2022年6月6日,点此查看提交资料和要求,。2、评奖采用计分制度,满分100分,评奖细则见下方说明。所有
- EEWORLD社区 玄铁RISC-V活动专区
- ARM串口下载-Flash使用说明
- Flash_Magic_ug.pdfARM串口下载-Flash使用说明看看
- sssls2008 ARM技术
- 400G DR4、FR4、LR4、SR8 QSFP-DD 光模块概述
- 1.400G光模块中的QSFP-DD是指什么?QSFP-DD是四通道小型可插拔(QSFP)-双密度(DD)的缩写,是QSFP-DDMSA组织定义的高速热插拔外形尺寸,是光通信行业实现高密度联网的关键部分。作为400G光模块外形尺寸的最佳选择,此QSFP-DD光模块使数据中心能够根据需求有效地增长和扩展云容量。QSFP-DD与QSFP端口向前和向后兼容,也兼容现有的QSFP28光模块和AOC/DAC等。QSFP-DD连接器的电接口由8个电通道组成,每个通道以25Gb/sN
- 武汉格凌科技 综合技术交流
设计资源 培训 开发板 精华推荐
- LTC3429BES6 演示板、500kHz、同步升压转换器、1.0 至 3.3Vin、3.3Vout @ 90mA
- MIC24051 12V、6A 高效降压稳压器 SuperSwitcher II 的典型应用
- LM358ADR2G 双四路滤波器运算放大器的典型应用
- LTC3406AB-2 的典型应用 - ThinSOT 中的 2.25MHz、600mA 同步降压稳压器
- 单选钮三键ch552热拔插改良版
- 双MOS驱动模块_2023-07-26_18-31-07
- 一个尺子书签
- LTC3119EFE 3.3V、750kHz 宽输入稳压器的典型应用电路
- 油液污染度颗粒检测板(二)-传感器信号板
- 立创海外购的 1.54寸的墨水屏电路及驱动