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; 雖然有一行註解,但是還是不知道這麼做的用意,以及這幾個參數值是怎麼決定的 |
你看官方库2.0占空比调整的时候,官方调整的相是对的吗?我怎么老和他分析的不一样啊
你感觉哪里不对
我想明白了,他是对的,谢谢你
// First sampling point
wAux = (s32)(ADC1->JDR2 << 1) - (s32)(hPhaseOffset);
switch (csCurrentSampled.sampCur1)
{
case SAMP_IA:
case SAMP_IB:
case SAMP_IC:
break;
case SAMP_NIA:
case SAMP_NIB:
case SAMP_NIC:
wAux = -wAux;
break;
default:
wAux = 0;
请问一下为什么第一个采样点的,其值怎么来自第二注入数据寄存器