void halTimer1SetChannelDuty (uint8 channel, uint16 promill)
{
#define MIN_PROMILL 20
uint16 count;
if (promill < MIN_PROMILL)
promill = 0;
/* Load count = ((sec/tick) x clock) / prescale */
count = (uint16)( ((uint32)(Timer1MaxCount) * promill + 500)/ 1000 );
count = ( (count >= Timer1MaxCount) ? Timer1MaxCount-1 : (count == 0 ? 1 : count) );
halTimer1SetChannelCount(channel, count);
}
count 限定 Timer1MaxCount - 1 到 1之间。
请教下!