1011|0

2942

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

【瑞萨RA6E2评估板】定时器设置测试和PWM测试 [复制链接]

本帖最后由 bigbat 于 2023-10-22 17:49 编辑

RA6E2的PWM输出主要有两种方式,AGT和GPT两种定时器输出,AGT是高级定时器、GPT是普通定时器。本次的测试是使用GPT5测试双路PWM输出。

首先是建立一个项目,这个项目的模板使用FPB-RA6E2模板,编译器使用Keil编译器。

 

项目建立后,打开FSP的配置文件。选择连接到LED1和LED2的引脚P206和P207,查看引脚的配置属性,可以作为GPT5的引脚属性,

 

配置GPT5的引脚属性,

 

如图所示,配置GTIOC5A和GTIOC5B的引脚为P206和P207,发现有红色的错误出现,说明设置有冲突,转到P206、P207配置项,关闭GPIO配置,

 

关闭完成后,GPT5的配置错误消失。

 

这是说明GPT5的引脚配置已经完成。转到Stacks配置处,配置PWM协议栈

 

将协议栈的Channel配置为5,这时软件自动导入GPT5的配置。

 

 

到这里整个PWM的配置已经完成了。接下来转到时钟设置

 

PWM使用的时钟为PCLKD,芯片的时钟为200MHZ,PSCLKD为时钟的2分频100MHZ。这时就可以看到高档芯片的优势了。

   

时钟的默认计数值,Period =10000,也就是PWM脉冲为 100M/10000=10K,占空比Duty =50%。这里的值为软件自动计算值。

两路输出为互补输出其它设置默认,以上的设置都可以通过函数动态进行修改。

void hal_entry(void)
{
    /* TODO: add your own code here */
	  fsp_err_t err;
     	
    /* Initializes the module. */
    err = R_GPT_Open(&g_timer5_ctrl, &g_timer5_cfg);
    
		/* Handle any errors. This function should be defined by the user. */
    assert(FSP_SUCCESS == err);			

   	err = R_GPT_PeriodSet(&g_timer5_ctrl, 10000 );
	  assert(FSP_SUCCESS == err);
	  R_BSP_SoftwareDelay (20, BSP_DELAY_UNITS_MILLISECONDS);//
	
    err = R_GPT_DutyCycleSet(&g_timer5_ctrl, 5000, GPT_IO_PIN_GTIOCA_AND_GTIOCB);//
	  //err = R_GPT_DutyCycleSet(&g_timer5_ctrl, 5000, GPT_IO_PIN_GTIOCB);//
        
	  assert(FSP_SUCCESS == err);
    R_BSP_SoftwareDelay (20, BSP_DELAY_UNITS_MILLISECONDS);//
		/* Start the timer. */
    R_GPT_Start(&g_timer5_ctrl);

	  for(;;){
		    R_BSP_SoftwareDelay (200, BSP_DELAY_UNITS_MILLISECONDS);
		} 
	
#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

设置完成后,就可以使用代码进行调试了。

这里的程序有两处延时,设置计数值

err = R_GPT_PeriodSet(&g_timer5_ctrl, 10000 );
assert(FSP_SUCCESS == err);
R_BSP_SoftwareDelay (20, BSP_DELAY_UNITS_MILLISECONDS);//

另一处,设置占空比

err = R_GPT_DutyCycleSet(&g_timer5_ctrl, 5000, GPT_IO_PIN_GTIOCA_AND_GTIOCB);//
//err = R_GPT_DutyCycleSet(&g_timer5_ctrl, 5000, GPT_IO_PIN_GTIOCB);//
        
assert(FSP_SUCCESS == err);
R_BSP_SoftwareDelay (20, BSP_DELAY_UNITS_MILLISECONDS);//

 

 

点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表