Пн апр 09, 2018 15:51:56
TRISC=0;
CCP8CON=0b00001100; //CPP8 ШИМ
// выбираю таймеры 2 и 4
CCPTMRS2.C8TSEL0 = 1;
CCPTMRS2.C8TSEL1 = 0;
T4CON=0b00000100; Старт таймера 4
PR4=118; //период таймера 4 устанавливает 100кГц
//Установка Duty цикла
void PWM_Dutys(char Duty)
{
CCPR8L = Duty;
CCPR8H = 0;
}
Вт апр 10, 2018 03:01:53
Дак у Вас период всего 118 (119 тактов), что Вы хотели ... ?DarkWolf писал(а):Проблема в том что Duty регулируется от 0 до 127.
Вт апр 10, 2018 07:17:38
Вт апр 10, 2018 08:02:51
Дак у Вас период всего 118 (119 тактов), что Вы хотели ... ?DarkWolf писал(а):Проблема в том что Duty регулируется от 0 до 127.
Вт апр 10, 2018 12:00:55
Вт апр 10, 2018 13:09:52
Вт апр 10, 2018 13:14:30
Вт апр 10, 2018 13:22:54
void PWM_Dutys(char Duty)
{
Duty = Duty/2; // максимальное значение 255/2 = 127
CCPR8L = Duty;
}
Вт апр 10, 2018 13:24:48
Вт апр 10, 2018 13:27:46
Ср апр 11, 2018 08:37:29
Пт июн 29, 2018 14:10:45
CCP1CON = 0b00001100;
PR2=0x3F;
T2CON = 0b00000100;
while (!TMR2IF) TRISC = 0b11011000;
while(!TMR2IF){}
Пт июн 29, 2018 14:17:23