Цитата(Duhas @ Dec 31 2009, 17:20)

вводите мертвое время.. как вам удобнее... либо в железе, либо дергайте пины в прерывании.. имхо других вариантов и быть не может..
Для симметричного шима (phase correct) не стесняясь уменьшал один из выходов на число попугаев, соответствующий мертвому времени. Получал то, что надо. Т.е. это было так
Код
// выходной параметр value_out
{ uint16_t value_L,value_H;
value_H=value_L=value_out;
//теперь двустороннее ограничение
if(value_H < VALUE_MIN) value_H = VALUE_MIN;
if(value_H > VALUE_MAX) value_H = VALUE_MAX;
if(value_L < VALUE_MIN) value_L = VALUE_MIN;
if(value_L > VALUE_MAX) value_L = VALUE_MAX;
// и только затем вычел дедтайм
value_H -= DEADTIME;
OCR1A = value_L;
OCR1B = value_H;
}
Кстати, phase correct вроде как правильно симулировался. (емнип)
А нафига студия? Попробуйте протеусом...