سلام
اقا این مثال pwm کتاب پورخواجه کار نمی کنه اشکال از برنامس یا چیزی دیگه
چون کلا مثالاشو من نتونسم پیاده کنم.....
اگه کمک منین ممنون می شم
سلام
اقا این مثال pwm کتاب پورخواجه کار نمی کنه اشکال از برنامس یا چیزی دیگه
چون کلا مثالاشو من نتونسم پیاده کنم.....
اگه کمک منین ممنون می شم
توضیح این که برنامه کامپایل میشه ولی در دیباگ با keil پورت مربوظه همیشه صفر نشون میده.
فایل main.c رو ضمیمه می کنم، دوستان لطف کنید در این مورد راهنمایی بفرمایید
سلام داداش
اين برنامه رو تست كردم صددرصد جواب ميده.
[PHP]#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);
} [/PHP]
_____________________________________
_____________________________________
راستي يه عكس هم ميزارم تا مطمئن شيد.
_____________________________________
_____________________________________
بسیار عالی. ممنون از کمکتون.
یک سوال:
در همین انجمن یک فایل برای pwm هست که lib و delay و pwm.c و owm.h رو هم به پروژه add می کنن. تفاوت در چیه؟ چرا اون قدر پیچیده هستند?
سلام داداش گلم
خوب بستگي به پروژه اي داره كه ميخواين انجام بدين.(البته به برنامه نويس هم بستگي مستقيم داره كه تا چه حد قسمت هاي مربوط به مهندسي نرم افزار رو رعايت ميكنه، كه براي پروژه هاي سنگين و برنامه هايي با تعداد خطوط بالا نوشته ميشن خيلي حائز اهميت هستش).
ممكنه تو پروژه لازه باشه، قسمت هايي مثل pwm و adc و usart، با هم به كار برده بشن.پس لازمه هر دو قسمت رو با هم راه اندازي كنيم.
_____________________________________
_____________________________________
ممنون اون برنامه که گذاشتید کار کرد. حالا با یک روش دیگه می خوام موج pwm ایجاد کنم.
به این صورت که یک موج سینوسی رو از نظر دامنه با یک موج مثلثی مقایسه کنم. کسی نظری داره؟