5、RH850 F1 定时器TAUJ功能和配置

article/2025/11/6 14:54:29

TAUJ定时器为RH850较为常用的定时器:

(1)定时器计时是通过计数来实现的,定时器内部有一个计数器,这个计数器根据时钟(这个时钟来自于ARM的APB总线)来工作。每隔一个时钟周期,计数器就就计数一次,定时器的时间=计数器计数值x时钟周期。

(2)定时器内部有计数器,计时开始时我们会把一个总的计数值放入计数器中,然后每隔一个时钟周期计数器中的值会自动减1(硬件自动完成,不需要CPU软件去干预),当计数器的值减为0的时候,就会触发定时器中断。最后的计时时间就是设定值。

(3)定时时间是由2个东西共同决定的:一个是计数器中的计数值,一个是时钟周期。

 

  • TAUJ Timer定时器寄存器介绍

1.1、TAUJn 时钟预分频选择寄存器Prescaler Clock Select Register

cf8762662f3346f28d2c9215447523b9.png

Bit position

Bit Name

Function

15 - 12

TAUJnPRS3

指定CK3_PRE时钟。

11 - 8

TAUJnPRS2

指定CK2_PRE时钟。

7 - 4

TAUJnPRS1

指定CK1_PRE时钟。

3 - 0

TAUJnPRS0

指定CK0_PRE时钟。

 

1.2、TAUJn 通道数据寄存器 Channel Data Register

2b278bcdf4814feca235178b96bc1bed.png

Bit position

Bit Name

Function

31 - 0

TAUJnCDR

用于捕获/比较值的数据寄存器

 

1.3、TAUJn 通道模式操作系统寄存器Channel Mode OS Register

f1f080d40bbd4c0e8d79cbd5d795a7d3.png

 7ba1b209eabb4c5d9af951015c116a4e.png

 

Bit position

Bit Name

Function

15、14

TAUJnCKS

选择一个操作时钟,该时钟与TAUJTTINm输入一起使用检测电路。

设置TAUJnCMORm。TAUJnCCS[1:0]位允许操作时钟 作为TAUJnCNTm计数器。

13、12

TAUJnCCS

为TAUJnCNTm选择一个计数时钟。

11

TAUJnMAS

指定同步期间通道是主通道还是从通道

通道操作。

0:从 

1:主

(此位设置仅对偶数通道有效)

 

89427af04a9f40a185ea421c5f3ded10.png

Bit position

Bit Name

Function

10 to 8

TAUJnSTS

 选择外部中断触发器。

 

5a20ec73e9e5422f8485d0de9e8a0238.png

Bit position

Bit Name

Function

7、6

TAUJnCOS

指定捕获寄存器TAUJnCDRm和溢出的时间

TAUJnCSRm。这些位只在通道m用于捕获功能(捕获模式和捕获一次计数模式)。

 

91483e9c405a43278fb9c3dcc715bfc8.png

Bit position

Bit Name

Function

4 to 0

TAUJnMD

选择运行模式。

 

1.4、TAUJn 通道模式使用寄存器 Channel Mode User Register

45850c57a3214c75986a411f5fdc1cd7.png

Bit position

Bit Name

TIS1

TISO

Function

1,0

TAUJnTIS

0

0

下降沿

 

 

0

1

上升沿

 

 

1

0

下降边缘和上升边缘的检测(选择低宽度

测量)

开始触发:下降边缘

停止触发(捕获):上升边缘

 

 

1

1

下降边缘和上升边缘的检测(选择高宽度

测量)

启动触发器:上升边缘

停止触发(捕获):下降边缘

 

1.5、TAUJn通道重新加载数据启用寄存器 Channel Reload Data Enable Register

 

8c636b3b5abf407fbe8d16db0fe46059.png

Bit position

Bit Name

Function

3 to 0

TAUJnRDEm

0:禁用同时重写 

1:开启同时重写

 

1.6、TAUJn通道重新加载数据模式寄存器 Channel Reload Data Mode Register

64c422e18eda4dd8b4a0cd9399367473.png

Bit position

Bit Name

Function

3 to 0

TAUJnRDMm

0:当主频道计数器开始计数时

1:无效

 

例程:

void R_TAUJ_Init( void )

{

    uint32_t   reg32_value;

    /* Source Clock Setting for C_AWO_TAUJ

    CKSC_ATAUJS_CTL - C_AWO_TAUJ Source Clock Selection Register

    b31:b 2                       - Reserved set to 0

    b 1:b 0           ATAUJSCSID  - Source Clock Setting for C_AWO_TAUJ  - HS IntOSC fRH (8MHz)                */

    do

    {

        reg32_value               = 0x00000001UL;

        WPROTRPROTCMD0                  = 0x000000A5UL;    /* Protection release the CKSC_ATAUJS_CTL register.       */

        CLKCTLCKSC_ATAUJS_CTL           = reg32_value;

        CLKCTLCKSC_ATAUJS_CTL           = ~reg32_value;

        CLKCTLCKSC_ATAUJS_CTL           = reg32_value;

    } while ( PORTPPROTS0 != 0x00000000UL );

    while( CLKCTLCKSC_ATAUJS_ACT != reg32_value )

    {

        /* Waiting for CKSC_ATAUJS_CTL to set. */

    }

    /* Clock Divider Setting for C_AWO_TAUJ

    CKSC_ATAUJD_CTL - C_AWO_TAUJ Divided Clock Selection Register

    b31:b 2                       - Reserved set to 0

    b 1:b 0           ATAUJDCSID  - Clock Divider Setting for C_AWO_TAUJ - CKSC_ATAUJS_CTL selection / 1       */

    do

    {

        reg32_value               = 0x00000001UL;

        WPROTRPROTCMD0                  = 0x000000A5UL;    /* Protection release the CKSC_ATAUJD_CTL register.       */

        CLKCTLCKSC_ATAUJD_CTL           = reg32_value;

        CLKCTLCKSC_ATAUJD_CTL           = ~reg32_value;

        CLKCTLCKSC_ATAUJD_CTL           = reg32_value;

    } while ( PORTPPROTS0 != 0x00000000UL );

    while( CLKCTLCKSC_ATAUJD_ACT != reg32_value )

    {

        /* Waiting for CKSC_ATAUJD_CTL to set. */

    }

    /* Set interrupt flags */

    INTC2MKTAUJ0I0                     = 1U;

    INTC2RFTAUJ0I0                     = 0U;

    INTC2TBTAUJ0I0                     = 1U;

    /* Set the clock stop mask and select the clock domains to be stopped and to continue operating.

    CKSC_ATAUJD_STPM - C_AWO_TAUJ Stop Mask Register

    b31:b 1                       - When read, the value after reset is returned. When writing to these bits,

                                    write the value after reset.

    b 0             ATAUJDSTPMSK  - Clock domain C_AWO_TAUJ is not stopped in stand-by mode. Set to 1'b. */

    CLKCTLCKSC_ATAUJD_STPM              = 0x00000003UL;

    /* Specifies the CK3 , CK2 , CK1 and CK0 clock

    TAUJnTPS        - TAUJn Prescaler Clock Select Register

    b15:b12           TAUJnPRS3   - Specifies CK3_PRE clock                      - PCLK / 1

    b11:b 8           TAUJnPRS2   - Specifies CK2_PRE clock                      - PCLK / 1

    b 7:b 4           TAUJnPRS1   - Specifies CK1_PRE clock                      - PCLK / 1

    b 3:b 0           TAUJnPRS0   - Specifies CK0_PRE clock                      - PCLK / 1 */

    TAUJ0TPS                     = 0x0000U;         /* HS IntOsc fRH(8MHz) / 1                                */

    /* Data register for the capture/compare value

    TAUJnCDRm       - TAUJn Channel Data Register

    b31:b 0           TAUJnCDR    - Data register for capture/compare values     - 1ms                         */

    TAUJ0CDR0                    = 8000UL - 1UL;    /* INTTAUJnIm cycle = count clock cycle * (TAUJnCDRm + 1) */

    /* Controls master channel operation

    TAUJnCMORm      - TAUJn Channel Mode OS Register

    b15:b14           TAUJnCKS    - Selects an operation clock.                  - Selected Operation CK0

    b13:b12           TAUJnCCS0   - Selects a count clock for TAUJnCNTm counter. - Set to 00'b

    b11               TAUJnMAS    - Specifies whether the channel is a master

                                    channe or slave channel during synchronous

                                    channel operation.                           - Set to 0'b

    b10:b 8           TAUJnSTS    - Selects an external start trigger.           - Set to 000'b

    b 7:b 6           TAUJnCOS    - Specifies the timing for updating capture

                                    register TAUJnCDRm and overflow flag

                                    TAUJnCSRm.TAUJnOVF of channel m.             - Set to 00'b.

    b 5                           - Reserved set to 0

    b 4:b 1           TAUJnMD     - Specifies an operating mode.                 - Interval timer mode. Set to 0000'b

    b 0               TAUJnMD0    - Specifies whether INTTAUJnIm is generated

                                    at the beginning of count operation (when

                                    a start trigger is entered) or not.          - INTTAUDnIm is not generated.

                                                                                   Set to 0'b */

    TAUJ0CMOR0                   = 0x0000U;

    /* Specifies the type of valid edge detection used for the TAUJTTINm input.

    TAUJnCMURm      - TAUJn Channel Mode User Register

    b 7:b 2                       - Reserved set to 0

    b 1:b 0           TAUJnTIS    - Specifies a valid edge of TAUJTTINm input

                                    signal.                                      - Unused. Set to 00'b. */

    TAUJ0CMUR0                   = 0x00U;

    /* TAUJnTOE.TAUJnTOEm is set to 0 because the channel output mode is not used by this samples. */

    TAUJ0TOE                     &= 0xFEU;

    /* Unused TAUJnRDE, TAUJnRDM registers in interval timer function. */

    /* These registers set "0". */

    TAUJ0RDE                     &= 0xFEU;

    TAUJ0RDM                     &= 0xFEU;

}

 

 


http://chatgpt.dhexx.cn/article/GdmUs5b3.shtml

相关文章

13、RH850 F1 选项字节和看门狗

前言: 选项字OPTION配置是RH850的一项重点,用户手册对选项字的配置介绍很少,这篇文章将主要针对选项字和看门狗的配置进行讲解。 一、选项字特性 闪存的选项字节是一个扩展区域,并保存用户为各种目的指定的数据。由选项字节指定的外围模块等的…

6、RH850 F1 AD转换功能和配置

前言: 上文完成了RH850的TAUJ定时器配置,此章我们将讲解RH850的ADC功能。 AD转换就是将时间连续和幅值连续的模拟量转换为时间离散、伏值也离散的数字量。使输出的数字量与输入的模拟量成正比。AD转换的过程有四个阶段,即采样、保持、量化和编码。 采样是…

RH850 Clock+LED

RH850 ClockLED 解除时钟寄存器写保护 写保护寄存器的写过程 通过使用以下保护解锁序列,可以启用对写保护寄存器的写访问: 1.将固定值0000 00A5H写入保护命令寄存器。 2.将所需的值写入受保护的寄存器。 3.将所需值的按位反转写入受保护的寄存器。 4.…

关于RH850系统时钟初始化的分析解读

博主联系方式:QQ:1256153255 ,邮箱:1256153255qq.com 点击这里可申请RH850开发板 点击这里可申请瑞萨E1仿真器 RH850的时钟初始化,有些是自己配置的,有些是用Smart configure图形配置后自动生成的&#x…

RH850系列芯片Mcal代码生成教程

RH850系列芯片Mcal代码生成教程 Rh850 mcal的配置、生成代码不同于NXP、英飞凌等芯片,并非使用EB,而是使用Vector工具加Makefile组合的方式,比较繁琐。本文将以RH850/F1KM的Can模块为例,讲解Rh850的代码生成流程。 相关依赖 首…

瑞萨RH850 CS+集成开发环境Sections字段说明

在文章:瑞萨RH850 CS环境下设置堆和栈空间和瑞萨IDE:CS for CC进行BootLoader升级时开发环境配置中,讲解到Sections字段的使用。 那么Sections字段到底什么含义呢,下表进行了梳理和总结: 手册全文请参见:RH…

RH850进不去烧写

有遇到输入晶振进不去界面的嘛,引脚第二次梳理一次都是正确的,cs➕接法也进不去,请问有遇到这种情况的嘛,谢谢指点。(https://img-blog.csdnimg.cn/335b57577edd4feabd1226ab1666d154.jpg) can线不接的话板子会在上电1-2秒复位&a…

11、RH850 中断配置

前言: 单片机的中断是由单片机片内的中断系统来实现的。当中断请求源(简称中断源)发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断服务程序处理中断服务请求,处理完中…

RH850F1x Starter Kit V3用户手册(中文翻译版)

版权声明 本博文系广州欧科曼科技有限公司所有,转载请注明出处。 广州欧科曼科技有限公司致力于瑞萨MCU及周边相关产品开发设计。 email:1256153255qq.com 需要翻译版PDF文档,请联系博主QQ获取 website for purchase 瑞萨RH850开发板 and 瑞…

RH850F1L 移植freeRTOS

学习基于GHS将freeRTOS移植到RH850 F1L的过程 移植过程参考github的一个教程,其中有部分修改优化,但是不多。 GitHub - mikisama/FreeRTOS_RH850: FreeRTOS port for Renesas RH850 支持gcc、ghs、ccrh、IAR 4种编译器。 有问题一起讨论,…

瑞萨RH850 FCL、FDL和EEL库的配置和使用

目录 1、FCL库 1.1、配置FCL库 1.2、使用FCL库 2、FDL库 2.1、配置FDL库 2.2、使用FDL库 3、EEL库 瑞萨RH850 Flash中有两种存储类型:Mapping of Code Flash Memory和Mapping of Data Flash Memory。 Mapping of Code Flash Memory存储代码,Mappi…

基于IAR for RH850的瑞萨RH850 FCL库用法介绍

博主联系方式:QQ:1256153255 ,email:1256153255qq.com website for get 瑞萨RH850F1x开发板和瑞萨E1仿真器 1、简介 本文介绍了RH850 FCL的使用以及相关的经验技巧,使用的环境如下 MCU:瑞萨RH850F1K 型号…

瑞萨RH850开发环境搭建

简述 本文介绍瑞萨RH850开发环境搭建。 内部包含cancasexl的驱动安装,canoe的软件安装,IAR的软件安装,E1的自检等。 当前版本:V1.0 email:1256153255qq.com website for get 瑞萨RH850开发板 and 瑞萨E1仿真器 变…

2、RH850外设时钟选择及配置

前言 上一篇文章完成了RH850时钟源寄存器配置,外设要正常工作,必须要配置对应的时钟,这篇文章说明RH850外设时钟配置。 时钟选择寄存器 下面表格是RH850-F1K技术规格书列出的外设时钟寄存器。 外设时钟寄存器基本都相同,如TAUJ代表…

3、RH850端口说明及及复用功能配置

RH850端口有3种工作模式 通用IO口(普通数字口)。PMC控制寄存器对应bit为0。软件配置复用模式。PMC控制寄存器对应bit为1。PIPC寄存器对应bit为0。硬件直接连接模式。PMC控制寄存器对应bit为1。PIPC寄存器对应bit为1。 主要控制寄存器 PIPC 0: 端口由软件配置(software I/O c…

10、RH850 CAN通讯功能和配置

前言: CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于…

瑞萨RH850芯片在IAR和CS+编译环境下设置堆(heap)和栈(stack)的大小

博主联系方式:QQ:1256153255 ,邮箱:1256153255qq.com 点击这里了解RH850开发板 点击这里了解瑞萨E1仿真器 点击这里了解GHS Multi 在实际使用RH850开发的过程中,有时会需要调整芯片的堆栈空间大小。 对于RH850芯片&…

播放rtmp在线网站及播放器

2019独角兽企业重金招聘Python工程师标准>>> 网站地址 http://www.cutv.com/demo/live_test.swf 推流地址 rtmp://ip:8005/live/32010020160918113426717107expxqe 或者采用flash player 也可以 -----------------------------------------------------------------…

rtmp/rtsp播放器

相信大家在做rtmp、rtsp直播的时候,最大的困惑就是选个靠谱的播放器,直播的延迟,一定意义上说,90%的取决于播放器的好坏。 那啥样的播放器才是靠谱的播放器呢?笔者以为,稳定、低延迟、支持路数多&#xff0…

网页可以播放RTMP视频流?支持RTMP的网页播放器

随着4G/5G网络的发展,以及有限带宽越来越大,人们对视频直播的需求也越来越多。不仅普通的互联网直播发展很快,传统的安防监控也开始互联网化,走起了互联网直播的路。雪亮工程、明厨亮灶、手机看店、智慧幼儿园监控等等都是将传统的…