PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : pwm



naruto
08-03-2011, 10:50
با عرض سلام و خسته نباشید

با pwm(at91sam7x256) میخوام کار کنم نمیتونم امکان داره توضیح بدین با مثال
مجله شماره 8 رو خوندم کامل توضیح نداده

با تشکر

mohammad990
08-03-2011, 21:49
سلام

void pwm_init(void)
{
AT91C_BASE_PMC->PMC_PCER |= (1<<AT91C_ID_PWMC);
AT91C_BASE_PIOB->PIO_PDR |= (AT91C_PIO_PB20); //portb.20 pwm1
AT91C_BASE_PIOB->PIO_ASR |= (AT91C_PIO_PB20); //portb.20 pwm1
AT91C_BASE_PWMC->PWMC_DIS |= (1<<1); //disable chanal 1
AT91C_BASE_PWMC->PWMC_MR = 0;
AT91C_BASE_PWMC_CH1->PWMC_CMR = (0xa<<0);
AT91C_BASE_PWMC->PWMC_ENA |= (1<<1); //enable chanal 1
}

void duty(unsigned int a)
{
AT91C_BASE_PWMC_CH1->PWMC_CMR &= ~(1<<10);
AT91C_BASE_PWMC_CH1->PWMC_CUPDR = a;
}

void update(unsigned int a)
{
AT91C_BASE_PWMC_CH1->PWMC_CMR |= (1<<10);
AT91C_BASE_PWMC_CH1->PWMC_CUPDR = a;
}