PDA

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



behzad.ee
19-03-2012, 00:04
سلام
اقا این مثال pwm کتاب پورخواجه کار نمی کنه اشکال از برنامس یا چیزی دیگه
چون کلا مثالاشو من نتونسم پیاده کنم.....
اگه کمک منین ممنون می شم

behzad.ee
19-03-2012, 11:07
توضیح این که برنامه کامپایل میشه ولی در دیباگ با keil پورت مربوظه همیشه صفر نشون میده.

behzad.ee
21-03-2012, 12:24
فایل main.c رو ضمیمه می کنم، دوستان لطف کنید در این مورد راهنمایی بفرمایید

sadmonew
21-03-2012, 14:40
سلام داداش
اين برنامه رو تست كردم صددرصد جواب ميده.


#include <at91sam7s64.h>

int main(void)
{
*AT91C_PIOA_PDR = AT91C_PA1_PWM1;

*AT91C_PMC_PCER = (1<<AT91C_ID_PWMC);

*AT91C_PWMC_MR = 0;

*AT91C_PWMC_CH1_CMR = 0x00 | 3<<8; //MCK/16

*AT91C_PWMC_DIS = 7;

*AT91C_PWMC_CH1_CPRDR = 0x0000FFFF;//1200; //mck*cprd
*AT91C_PWMC_CH1_CDTYR = 0x0000FFFF; //duty cycle

*AT91C_PWMC_IDR = 0x07;
*AT91C_PWMC_ENA = 0x02; //PORTA.1 is PWM pulse



while(1);
}

sadmonew
21-03-2012, 14:48
راستي يه عكس هم ميزارم تا مطمئن شيد.

behzad.ee
21-03-2012, 15:07
بسیار عالی. ممنون از کمکتون.
یک سوال:
در همین انجمن یک فایل برای pwm هست که lib و delay و pwm.c و owm.h رو هم به پروژه add می کنن. تفاوت در چیه؟ چرا اون قدر پیچیده هستند?

sadmonew
22-03-2012, 01:19
در همین انجمن یک فایل برای pwm هست که lib و delay و pwm.c و owm.h رو هم به پروژه add می کنن. تفاوت در چیه؟ چرا اون قدر پیچیده هستند?
سلام داداش گلم
خوب بستگي به پروژه اي داره كه ميخواين انجام بدين.(البته به برنامه نويس هم بستگي مستقيم داره كه تا چه حد قسمت هاي مربوط به مهندسي نرم افزار رو رعايت ميكنه، كه براي پروژه هاي سنگين و برنامه هايي با تعداد خطوط بالا نوشته ميشن خيلي حائز اهميت هستش).

ممكنه تو پروژه لازه باشه، قسمت هايي مثل pwm و adc و usart، با هم به كار برده بشن.پس لازمه هر دو قسمت رو با هم راه اندازي كنيم.

behzad.ee
26-03-2012, 11:12
ممنون اون برنامه که گذاشتید کار کرد. حالا با یک روش دیگه می خوام موج pwm ایجاد کنم.
به این صورت که یک موج سینوسی رو از نظر دامنه با یک موج مثلثی مقایسه کنم. کسی نظری داره؟