امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با PWM درتایمر 1
نویسنده پیام
علیدلی آفلاین
كاربر دو ستاره
**

ارسال‌ها: 143
موضوع‌ها: 62
تاریخ عضویت: مرداد ۱۳۹۰

تشکرها : 108
( 101 تشکر در 52 ارسال )
ارسال: #1
مشکل با PWM درتایمر 1
سلام
دوستان من PWM رو در تایمر 1 راه اندازی کردم به اینصورت

کد:
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 8

یه سری عددهای دارم که دارای مقادیر اعشاری هستند و این اعداد حاصل یه سری جمع و تفریق هستند.


مقادیر EMF هم مثلا اعداد زیر هستند:

کد:
Emf = 337.65
Emf = 338.35
Emf = 339.05
این مقادیر رو که در PWM1A میریزم و PWM1A رو نمایش میدم عددهای با اختلاف زیاد رو نمایش میده .چرا اینجوریه ؟

اینم قسمتی از برنامه که هر کدام از مقادیر 337.65 /338.35 /339.05 رو درون PWM1A میریزم یه مقادیر نشون میده

[b]مثلا مقدار 338.3499 رو PWM1A عدد 204 نشون میده
مقدار 336.94 رو PWM1A عدد 409 و
مقدار 337.6499 رو PWM1A عدد 819 نشون میده
یعنی 1 عدد رو اضافه میشه حدودا 300 تا PWM1A جابجا میشه





کد:
$regfile = "m8def.dat"
$crystal = 8000000

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 8


EMF = 337.65
'EMF  = 338.35
'EMF  = 339.05


Do
   Waitms 20

   Pwm1a = EMF                                            


   Locate 2 , 1
   Lcd Pwm1a ; " " ; EMF ; " "


Loop

یه تست کردم دیدم اعداد رند رو که میریزم درون pwma1 مشکلی نداره و دقیقا همون عدد رو نشون میده ولی اعداد رو که دارای اعشاری هست رو خیلی بی ربط نشون میده .
ضمن اینکه باید حتما اعداد اعشاری رو نشون بدم
(آخرین ویرایش در این ارسال: ۰۹-مرداد-۱۳۹۳, ۱۰:۲۱:۳۹، توسط علیدلی.)
۰۹-مرداد-۱۳۹۳, ۰۹:۴۸:۲۱
ارسال‌ها
پاسخ
a.mehran آفلاین
مدیر بخش
*****

ارسال‌ها: 1,029
موضوع‌ها: 93
تاریخ عضویت: فروردین ۱۳۹۲

تشکرها : 5125
( 4490 تشکر در 1882 ارسال )
ارسال: #2
RE: مشکل با PWM درتایمر 1
شما باید متغیرتو مشخص کنی
احتمال قوی مشکل از متغیره
مثلا :
dim emp as dword

silent people have the loudest minds شادی − بهینه شده برای ورژن جدید شادی − بهینه شده برای ورژن جدید
سایت من Abrdade.com
۰۹-مرداد-۱۳۹۳, ۱۳:۱۶:۱۱
ارسال‌ها
پاسخ
تشکر شده توسط : علیدلی, babyy, Ambassador
علیدلی آفلاین
كاربر دو ستاره
**

ارسال‌ها: 143
موضوع‌ها: 62
تاریخ عضویت: مرداد ۱۳۹۰

تشکرها : 108
( 101 تشکر در 52 ارسال )
ارسال: #3
RE: مشکل با PWM درتایمر 1
سلام
ممنونم
عددی که من میریزم داخل pwm1a از نوع اعشاری هست .بنابراین متغییر هم single هست .مشکلی که داره اینکه pwm1a عدد اعشاری رو قبول نمیکنه و لی اعداد رند که میریزم داخل pwm1a هیچ مشکلی نداره
۰۹-مرداد-۱۳۹۳, ۱۶:۵۵:۲۸
ارسال‌ها
پاسخ
تشکر شده توسط : a.mehran
a.mehran آفلاین
مدیر بخش
*****

ارسال‌ها: 1,029
موضوع‌ها: 93
تاریخ عضویت: فروردین ۱۳۹۲

تشکرها : 5125
( 4490 تشکر در 1882 ارسال )
ارسال: #4
RE: مشکل با PWM درتایمر 1
درسته ولی شما اصلا تو برنامه متغیرو نزاشتین
من تابحال امتحان نکردم ببینم اعشاری درست در میاد یا نه
ولی قاعدتا نباید کار نکنه

silent people have the loudest minds شادی − بهینه شده برای ورژن جدید شادی − بهینه شده برای ورژن جدید
سایت من Abrdade.com
۰۹-مرداد-۱۳۹۳, ۱۷:۳۴:۲۲
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Ambassador


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS