سلام
من برای adc timer uart برنامه نوشتم کار نکرد بعد برنامه دوستانو دیدم یه فرق با من داشت اون کارو کردم کار کرد
مثلا تو رجیستر
PCONP |= (1<<12);
AD0CR |= 0x01000000;
توی این رجیسترایی که دوستان نوشتن جای مساوی or بیتی گذاشتن
من اینو مساوی کردم کار نکرد انا با =| کار کرد
از طرفی این رجیستر در بالای رجیتر قبلیش مساوی
میتونه دلیلش این باشه که چون قبلن مقدار دهی شده الان باید =| شه؟
مثلا
من برای adc timer uart برنامه نوشتم کار نکرد بعد برنامه دوستانو دیدم یه فرق با من داشت اون کارو کردم کار کرد

مثلا تو رجیستر
PCONP |= (1<<12);
AD0CR |= 0x01000000;
من اینو مساوی کردم کار نکرد انا با =| کار کرد
از طرفی این رجیستر در بالای رجیتر قبلیش مساوی
AD0CR = 0x00200301;
دلیل استفتده از =| تو بعضی از رجیسترها چیه؟میتونه دلیلش این باشه که چون قبلن مقدار دهی شده الان باید =| شه؟
مثلا
AD0CR = 0x00200301;
AD0CR |= 0x01000000;
چون یه بار تو خط بالا شماره دهی شده9 باید این جا =| شه که خط بالایی هم تنظیماتش خراب نشه...درسته؟AD0CR |= 0x01000000;
دیدگاه