۱۷-اسفند-۱۳۹۱, ۱۸:۱۷:۱۷
چرا نمي خوايد از وقفه ي int استفاده كنيد؟!
در مورد مود تايمر و كانتر ، help بسكام رو كه نگاه كردم ، كپچر رو براي مود counter نوشته بود !
البته بنظر من اين معني نمي دهه و درستش اينه كه در مود تايمر امكان كپچر كردن باشه ! ( براي AVR خودم اين مورد رو تست نكردم )
فركانس پردازنده چندهه؟
بايد يه trade off اي برقرار كنيد ...!
خود توابع LCD و فرمان دادن و ... تايمينگ هاي خاصي دارهه كه بايد رعايت بشه تا نوشته روي LCD نشون داده بشه.
مسلما توان پردازشيه زيادي از پردازنده مي گيرهه ، چون شما هم جوري برنامه رو نوشتي كه مرتب بايد برهه به وقفه ، حالا اگر توي زير روال وقفه زياد بموني ، چون الان وقفه ي سراسري غير فعال هست ، حتي اگر پايه تريگ بشه ، ديگه نمي تونه برهه به وقفه! ( چون هنوز مرحله قبلي تمام نشدهه ... )
شما بايد خواستت رو معقول كني و توان ميكرو رو هم در نظر بگيري.
بهترين حالت اينه كه فركانس كاريه ميكرو رو max در نظر بگيري و فركانس PWM رو min در نظر بگيري و روال وقفه رو خيلي خلاصه بنويسي ، تا سريع بتونه از اون روال براي رخ دادن وقفه ي جديد خارج بشه ، اينجوري شايد اكثر پالس ها رو بتونه بگيرهه و چيزي رد نشه. ( شايد هم با اين كار بخاطر به هم زدن تايمينگ هاي دستور LCD ، چيزي كه مي خواي درست رو LCD نوشته نشه ( به شرطي كه دستور LCD در روال وقفه استفاده نشه ، براي GLCD كه حتما اين مشكل پيش مي ياد ، اما براي character LCD مطمئن نيستم و ياد ندارم. ) )
در ضمن ، كلا به وقفه رفتن و ... هم چند سيكل ساعت طول مي كشه ، همه چيز دقيقا در آنه واحد اتفاق نمي افته ...
موفق باشيد.
در مورد مود تايمر و كانتر ، help بسكام رو كه نگاه كردم ، كپچر رو براي مود counter نوشته بود !
البته بنظر من اين معني نمي دهه و درستش اينه كه در مود تايمر امكان كپچر كردن باشه ! ( براي AVR خودم اين مورد رو تست نكردم )
نقل قول: اصلا ایا میشه از یه پایه به عنوان ورودی در این برنامه استفاده کرد؟وروديه چي؟ چه نوع وروديي؟ براي چه كاري؟
نقل قول: البته من استفاده کردم ولی خیلی از پالسها رو رد میکنه.مخصوصا اگه تو برنامه از دستور ال سی دی استفاده کنیمخوب اين هم چيز طبيعيي هست. فركانس PWM رو چند در نظر گرفتيد؟
فركانس پردازنده چندهه؟
بايد يه trade off اي برقرار كنيد ...!
خود توابع LCD و فرمان دادن و ... تايمينگ هاي خاصي دارهه كه بايد رعايت بشه تا نوشته روي LCD نشون داده بشه.
مسلما توان پردازشيه زيادي از پردازنده مي گيرهه ، چون شما هم جوري برنامه رو نوشتي كه مرتب بايد برهه به وقفه ، حالا اگر توي زير روال وقفه زياد بموني ، چون الان وقفه ي سراسري غير فعال هست ، حتي اگر پايه تريگ بشه ، ديگه نمي تونه برهه به وقفه! ( چون هنوز مرحله قبلي تمام نشدهه ... )
شما بايد خواستت رو معقول كني و توان ميكرو رو هم در نظر بگيري.
بهترين حالت اينه كه فركانس كاريه ميكرو رو max در نظر بگيري و فركانس PWM رو min در نظر بگيري و روال وقفه رو خيلي خلاصه بنويسي ، تا سريع بتونه از اون روال براي رخ دادن وقفه ي جديد خارج بشه ، اينجوري شايد اكثر پالس ها رو بتونه بگيرهه و چيزي رد نشه. ( شايد هم با اين كار بخاطر به هم زدن تايمينگ هاي دستور LCD ، چيزي كه مي خواي درست رو LCD نوشته نشه ( به شرطي كه دستور LCD در روال وقفه استفاده نشه ، براي GLCD كه حتما اين مشكل پيش مي ياد ، اما براي character LCD مطمئن نيستم و ياد ندارم. ) )
در ضمن ، كلا به وقفه رفتن و ... هم چند سيكل ساعت طول مي كشه ، همه چيز دقيقا در آنه واحد اتفاق نمي افته ...
موفق باشيد.