پاسخ : نمونه کدهایی برای XMEGA
با توجه به تولید دو لبه در هر پله حرکت ولوم، اضافه شدن دو واحد به مقدار آن کاملا صحیح است که به این مسئله در پست قبل هم اشاره شد.
مطابق کد شما متغیر temp1 نماینده مقدار قبلی خوانده شده از TCC1_CNT است. بنابراین در بار اول که یک واحد به کانتر اضافه یا از آن کم می شود، مقدار آن در وضعیت فرد قرار می گیرد و در بار دوم، نمایش متغیر قبل از مقدار دهی جدید به آن انجام می شود. بنابراین عملکرد برنامه صحیح است و مقدار نمایش داده شده برای این متغیر با برنامه فعلی شما باید یک واحد با encode_new_a متفاوت باشد. برای رفع این مشکل می توانید مقدار دهی به encode_old_a را در خارج از if (بعد از آن) انجام دهید تا همیشه مقدار آن به روز باشد.
نوشته اصلی توسط mehdi210
نوشته اصلی توسط mehdi210
دیدگاه