完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
对于 HSPDM 部分,我将其配置为由 CCU6 触发:
IfxHspdm_setHwRunActiveEdge(g_hspdm, IfxHspdm_HwRunActiveEdge_rising); IfxHspdm_setHwRunTriggerSource(g_hspdm, IfxHspdm_HwTriggerSource_CCU6); IfxHspdm_enableHwRun(g_hspdm); 对于 CCU6 而言,看起来 CCU61 的 T13 是通往 HWRUN 的路线: 所以我在这里配置了 CCU6: IfxCcu6_Timer_Config timerConfig; IfxCcu6_Timer_initModuleConfig( timerConfig, MODULE_CCU61); /* Configure the T12 timer frequency/period (trigger for T13 timer) and T13 timer frequency/period (trigger * for ADC). Timer T13 starts counting in single shot mode triggered by a period-match event of the T12 timer. * The period of the timer T13 represents a delay (from the period-match event of the T12 timer) of the ADC * trigger event. */ timerConfig.base.t12Frequency = CCU6_T12_TIMER_FREQ; /* Timer T12 frequency */ timerConfig.base.waitingTime = CCU6_T12_TIMER_PERIOD; /* waitingTime is the period of T12 timer */ timerConfig.base.t13Frequency = CCU6_T13_TIMER_FREQ; /* Timer T13 frequency */ timerConfig.base.t13Period = CCU6_T13_TIMER_PERIOD; /* Timer T13 period */ timerConfig.timer = IfxCcu6_TimerId_t13; /* Select the timer, T13 is the master */ timerConfig.synchronousOperation = FALSE; /* Disable synchronous start of the timers */ timerConfig.trigger.t13InSyncWithT12 = TRUE; /* T12 timer starts the T13 timer */ /* Configure the T13 timer start event */ timerConfig.timer13.t12SyncEvent = IfxCcu6_T13TriggerEvent_onT12Period; timerConfig.timer13.t12SyncDirection = IfxCcu6_T13TriggerDirection_onT12CountingUp; /* Apply the configuration to the CCU6 module */ IfxCcu6_Timer_initModule( g_timer, timerConfig); //CCU61:COUT63 to HSPDM:HWRUN(0) T13 PWM channel 63 /* Activate the line ServiceRequest_3 to route the T13 period match event trigger to the HSPDM module */ IfxCcu6_enableInterrupt( MODULE_CCU61, IfxCcu6_InterruptSource_t13PeriodMatch); /* Configure the T13 timer for single shot mode */ IfxCcu6_enableSingleShotMode( MODULE_CCU61, IfxCcu6_TimerId_t13); IfxCcu6_Timer_start( g_timer); 但是 HSPDM 输出未触发。 我做错了什么? 请帮忙。 |
|
相关推荐
1个回答
|
|
在TC357TA中配置CCU6以触发HSPDM,您可以使用以下代码:
``` #include "IfxHspdm.h" #include "IfxCcu6_Timer.h" Ifx_HSPDM* g_hspdm; Ifx_CCU6_Timer_Config timerConfig; Ifx_CCU6_Timer timer; int main(void) { // Initialize HSPDM IfxHspdm_enableModule(g_hspdm); IfxHspdm_setHwRunActiveEdge(g_hspdm, IfxHspdm_HwRunActiveEdge_rising); IfxHspdm_setHwRunTriggerSource(g_hspdm, IfxHspdm_HwTriggerSource_CCU6); IfxHspdm_enableHwRun(g_hspdm); // Initialize CCU6 IfxCcu6_Timer_initModuleConfig(&timerConfig, &MODULE_CCU61); IfxCcu6_Timer_initModule(&timer, &timerConfig); // Configure CCU61 IfxCcu6_Timer_configureCount(&timer, IfxCcu6_Timer_CountMode_edgeAligned); IfxCcu6_Timer_enableModule(&timer); IfxCcu6_Timer_runAsHwSteadyCounter(&timer); // Wait for the CCU6 to trigger the HSPDM while (1) { // Do something } return 0; } ``` 以上代码假设您拥有正确的库和驱动程序,并且已经对TC357TA进行了正确的初始化。 请注意,您需要将`g_hspdm`和`MODULE_CCU61`替换为实际的HSPDM和CCU6模块的指针或变量。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12034 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 23:35 , Processed in 0.543449 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号