DogPawlowa 0 11 марта, 2011 Опубликовано 11 марта, 2011 · Жалоба Собственно сабж. Скоро лопну от злости. В режиме без буфера все работает. В режиме с буфером содержимое трех регистров переносится, а TRDGRD0 не переносится в TRDGRB0 (вижу в отладчике). #define BUFFERED #ifndef BUFFERED #define PERIOD_REG0 trdgra0 #define PERIOD_REG1 trdgra1 #define PWM_REG0 trdgrb0 #define PWM_REG1 trdgrb1 #else #define PERIOD_REG0 trdgrc0 #define PERIOD_REG1 trdgrc1 #define PWM_REG0 trdgrd0 #define PWM_REG1 trdgrd1 #endif void ConfigureTimerRD(void) { trdstr = 0x00; // stop timer #ifdef BUFFERED trdmr = 0xf1; // registers 0 and 1 work Synchro with buffer #else trdmr = 0x01; #endif trdpmr = 0x11; // TRDIOB0, TRDIOB1 : PWM trdfcr = 0x80; // not PWM3 mode trdpocr0 = 0x07; // output active level = high trdocr = 0x00; // initial output = 0 trdoer1 = 0xff; // disable all outputs of PWM trdoer2 = 0x00; // disable outputs by INT0 trdiora0= 0xaa; trdiora1= 0xaa; trdiorc0= 0xaa; trdiorc1= 0xaa; trdcr0 = 0x23; // count at both edges f8 , clear together with 1 trdcr1 = 0x23; // count at both edges f8 PERIOD_REG0 = TIMER_PWM_RESOL-1; PERIOD_REG1 = TIMER_PWM_RESOL-1; PWM_REG0 = TIMER_PWM_RESOL; // change point of PWM PWM_REG1 = 0; // change point of PWM trd0 = 0xffff; // counter itself trd1 = 0xffff; trdier0 = 0x00; // enable compare A0 interrupt trdier1 = 0x00; // disable all interrupts in 1 channel // trd0ic = 0x04; // interrupts priority register - enabled trdstr = 0x0F; // Go! OFF_PIN_DU3(); OFF_PIN_DU4(); } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 13 марта, 2011 Опубликовано 13 марта, 2011 · Жалоба Сам спросил - сам разобрался. Регистр для управления полярностью выходного сигнала имеет гораздо более сильное влияние на всю работу сравнения и генерации ШИМ, чем это можно представить из названия. После установки регистров каналов 0 и 1 в одинаковое значение ну и выяснения подробностей, не описанных в документации, все заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 14 марта, 2011 Опубликовано 14 марта, 2011 · Жалоба Угу, один из тех моментов, которые заставляют пересматривать проекты в пользу, например, STM8... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться