最近着手学习F28m35的单核和双核编程问题,其中有不少的自己不能理解的地方,希望和大家相互交流,共同学习。哪位朋友如果了解,请不吝赐教,不管对不对,我们共同探讨。总结的问题如下:
1、 在setup_m3.c中下面两句指令是什么意思,具体实现的功能是怎样?
// Enable Pullups on EPWM(1-8)A/B capable pins
GPIOPadConfigSet(GPIO_PORTA_BASE, 0xFF, GPIO_PIN_TYPE_STD_WPU);
GPIOPadConfigSet(GPIO_PORTB_BASE, 0xFF, GPIO_PIN_TYPE_STD_WPU);
2、 在epwm实时中断例程中的epwm_real-time_interrupt_c28.c文件中指令问题如下:
EPwm1Regs.CMPA.half.CMPA = PWM1_TIMER_TBPRD/2; //CompareA event at half of period。
这个指令怎么理解,像如果是EPwm1Regs.CMPA.bit.CMPA这种指令很好理解是对位的操作,这里用到half,就不知道怎么理解了,有知道的帮忙解释一下,还有就是这是一个EPWM的实时中断例程,这句例程有什么用?
3、 在双核亮灯实验中,分别有队引脚的操作,但是M3和C28的引用方法不一样,求高手大概说下为什么这样用?
GpioG1DataRegs.GPCDAT.bit.GPIO70 = 0;
GPIOPinWrite(GPIO_PORTC_BASE, GPIO_PIN_7, 0);
一个是对引脚的直接操作,一个是对寄存器的位操作,为什么这样?小弟初学,不是很懂,求指导,非常感谢。
本文来自论坛,点击查看完整帖子内容。