This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
在TI给的电机控制例程里,
(*ePWM[ch1]).TBCTL.all = PWM_INIT_STATE;
而
#define PWM_INIT_STATE (
FREE_RUN_FLAG + \
PRDLD_IMMEDIATE + \
TIMER_CNT_UPDN + \
HSPCLKDIV_PRESCALE_X_1 + \
CLKDIV_PRESCALE_X_1 + \
PHSDIR_CNT_UP + \
CNTLD_DISABLE )
#define FREE_RUN_FLAG 0x8000
#define PRDLD_IMMEDIATE 0x0008
。。。。。。依次还有很多
这是什么意思呢?为什么这么多控制符呢?程序是个什么逻辑呢?
给CTL寄存器不是赋一个值就行了吗? 那么多是先赋一个 再赋下一个 还是什么意思呢?
#define FREE_RUN_FLAG 0x8000
#define PRDLD_IMMEDIATE 0x0008
这个是把寄存器的每一位先分别定义需要的值
(*ePWM[ch1]).TBCTL.all = PWM_INIT_STATE;
然后把之前定义的每一位整合到一起,同时赋值到整个CTL寄存器
每一位是如何来整合的啊??例如每一位是0x0000;0x0000;0x0000;0x0030;0x0000;0x8000;0x88000,整合后是多少啊??
您好,请问#define FREE_RUN_FLAG 0x8000 这些定义在哪个文件里?为什么我在程序里没找到这些变量的恒定义?