Здравствуйте.
Подсажите как вывести PWM на PA11,PA12,PA13,PA14 соответственно.
Я только начинаю, не могу даже справится с PWM3
- нет сигнала ни на PA3 ни PA7:( Примеров много - НО без PWM3...
Вот рабочий пример НО PWM3 не работает.
[size=85][size=50]#include "Board.h" /* AT91SAMT7S64 ОПРЕДЕЛЕНИЯ для данной платы */
int main(void) // Keil µVision V4.74.0.22
{
AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PWMC); // Peripheral Clock Enable (PMC_PCER)
AT91C_BASE_PWMC->PWMC_DIS = 0x0F; // PWM Disable Register. Регистр отключения ШИМ
AT91C_BASE_PWMC->PWMC_MR = 0x7010701;// Регистр MCK/8 clkB
/// ВЫВОД ШИМ 1
AT91C_BASE_PWMC->PWMC_CH[0].PWMC_CMR = AT91C_PWMC_CPRE_MCKA; //Channel Mode Register
AT91C_BASE_PWMC->PWMC_CH[0].PWMC_CDTYR = 2400/2; //Channel Duty Cycle Register
AT91C_BASE_PWMC->PWMC_CH[0].PWMC_CPRDR = 2400-10; //Channel Period Register (freq+20)
AT91C_BASE_PWMC->PWMC_ENA = 1; // Enable PWM на PA0
/// ВЫВОД ШИМ 2
AT91C_BASE_PWMC->PWMC_CH[1].PWMC_CMR = AT91C_PWMC_CPRE_MCKA; //Channel Mode Register
AT91C_BASE_PWMC->PWMC_CH[1].PWMC_CDTYR = 2400/2; //Channel Duty Cycle Register
AT91C_BASE_PWMC->PWMC_CH[1].PWMC_CPRDR = 2400; //Channel Period Register (freq+20)
AT91C_BASE_PWMC->PWMC_ENA = 2; // Enable PWM на PA1
/// ВЫВОД ШИМ 3
AT91C_BASE_PWMC->PWMC_CH[2].PWMC_CMR = AT91C_PWMC_CPRE_MCKA; //Channel Mode Register
AT91C_BASE_PWMC->PWMC_CH[2].PWMC_CDTYR = 2400/2; //Channel Duty Cycle Register
AT91C_BASE_PWMC->PWMC_CH[2].PWMC_CPRDR = 2400; //Channel Period Register (freq+20)
AT91C_BASE_PWMC->PWMC_ENA = 4; // Enable PWM на PA2
/// ВЫВОД ШИМ 4 !!! - НЕ МОГУ вывести 4 канал ШИМ
AT91C_BASE_PWMC->PWMC_CH[3].PWMC_CMR = AT91C_PWMC_CPRE_MCKA; //Channel Mode Register
AT91C_BASE_PWMC->PWMC_CH[3].PWMC_CDTYR = 2400/2; //Channel Duty Cycle Register
AT91C_BASE_PWMC->PWMC_CH[3].PWMC_CPRDR = 2400; //Channel Period Register (freq+20)
AT91C_BASE_PWMC->PWMC_ENA = 8; // Enable PWM на PA3 - PA7 не реагирует
while (1);
}
[/size][/size]