完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在看一个controlSUITE中DPS workshop中的一个例子,其中有一段变量定义的代码不理解:
// Used to indirectly access all EPWM modules volatile struct EPWM_REGS *ePWM[] = [ &EPwm1Regs, //intentional: (ePWM[0] not used) &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, &EPwm4Regs, #if (!DSP2802x_DEVICE_H) &EPwm5Regs, &EPwm6Regs, #if (DSP2803x_DEVICE_H || DSP2804x_DEVICE_H) &EPwm7Regs, #if (DSP2804x_DEVICE_H) &EPwm8Regs #endif #endif #endif ]; 我的理解是他定义了一个结构体指针数组,后面的代码中确实也用到了: void C1(void) // Fault Management //------------------------------------------------------ [ if (ClearFault1 == 1) [ EALLOW; (*ePWM[1]).TZCLR.bit.OST = 1; EDIS; ClearFault1 = 0; ] if (ClearFault2 == 1) [ EALLOW; (*ePWM[2]).TZCLR.bit.OST = 1; EDIS; ClearFault2 = 0; ] if ( (*ePWM[1]).TZFLG.bit.OST == 1 ) FaultFlg1 = 1; else FaultFlg1 = 0; if ( (*ePWM[2]).TZFLG.bit.OST == 1 ) FaultFlg2 = 1; else FaultFlg2 = 0; //----------------- //the next time CpuTimer2 'counter' reaches Period value go to C2 C_Task_Ptr = &C2; //----------------- ] 我不明白的是 程序上为什么这么写? (*ePWM[1]).TZCLR.bit.OST = 1;写成EPwm1Regs.TZCLR.bit.OST = 1; 应该也可以吧? |
|
相关推荐
2 个讨论
|
|
只有小组成员才能发言,加入小组>>
351 浏览 1 评论
546 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
790 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
87浏览 29评论
321浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
262浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
69浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 01:59 , Processed in 0.830236 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号