1.在stm32f10x_svpwm_1shunt.c有使用
DMABURSTMIN_A,DMABURSTMIN_B,DMABURSTMIN_C..
這三個的數值都不一樣,是不是根據DMA刷新到CCRX的時間定出來的值?
2.另外在stm32f10x_svpwm_1shunt.c中.有一段CODE
// Duty adjust to avoid commutation inside Update Handler
if ( ( dvDutyValues.hTimePhA > MINTIMCNTUPHAND ) && ( dvDutyValues.hTimePhA < MIDTIMCNTUPHAND ) )
dvDutyValues.hTimePhA = MINTIMCNTUPHAND;
if ( ( dvDutyValues.hTimePhA >= MIDTIMCNTUPHAND ) && ( dvDutyValues.hTimePhA < MAXTIMCNTUPHAND ) )
dvDutyValues.hTimePhA = MAXTIMCNTUPHAND;
if ( ( dvDutyValues.hTimePhB > MINTIMCNTUPHAND ) && ( dvDutyValues.hTimePhB < MIDTIMCNTUPHAND ) )
dvDutyValues.hTimePhB = MINTIMCNTUPHAND;
if ( ( dvDutyValues.hTimePhB >= MIDTIMCNTUPHAND ) && ( dvDutyValues.hTimePhB < MAXTIMCNTUPHAND ) )
dvDutyValues.hTimePhB = MAXTIMCNTUPHAND;
if ( ( dvDutyValues.hTimePhC > MINTIMCNTUPHAND ) && ( dvDutyValues.hTimePhC < MIDTIMCNTUPHAND ) )
dvDutyValues.hTimePhC = MINTIMCNTUPHAND;
if ( ( dvDutyValues.hTimePhC >= MIDTIMCNTUPHAND ) && ( dvDutyValues.hTimePhC < MAXTIMCNTUPHAND ) )
dvDutyValues.hTimePhC = MAXTIMCNTUPHAND;
雖然有一行註解,但是還是不知道這麼做的用意,以及這幾個參數值是怎麼決定的?
有人可以幫忙解答嗎? |