250- در حالت بدون علامت میشه 0XFF06 و از اونجایی که TCNT0 یک رجیستر 8 بیتی هستش، اگر این مقدار رو در اون بریزید در اصل فقط عدد 0x06 در TCNT0ریخته میشه! در نتیجه، سرریز تایمر صفر بعد از 250 شمارش اتفاق خواهد افتاد.
برنامه نویسش حال نداشته که 255 رو منهای 6 بکنه!!! :eek: =))
مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....
از اونجاییکه سرریز تایمرها معمولا در شرایط تغییر از 0xff یا 0xffff (بسته به 8 یا 16 بیتی بودن) به 0x00 رخ میده شما باید مقدار زمانیکه رو که میخوای تایمر بشمره رو از مقدار ماکزیمم اون یعنی 0xff کم کنی و اون مقدار رو تو رجیستر تایمر بنویسی ولی کار راحتتر اینه که منفی اون مقدار رو تو رجیستر تایمر بنویسی چون عدد تماما یک (یعنی همون 0xff یا 0xffff) اگه بصورت علامتدار در نظر گرفته برابر میشه با عدد 1-
دیدگاه