تساعد على برمجة avr

M

mehipour

Guest
اهل مرحبا ،

أنا برمجة AVR AtMega32 لشبكة الإنترنت جزءا لا يتجزأ من خادم.هناك في هذه اللغة جيم اللغوي أن أكون قد واجهت وأنا لا أفهم.

(PINB & (1 <<PB2)) == 0)

أنا لم أفهم تماما معنى هذه الجملة.أنا أفترض أن PINB هو تسجيل portb وPB2 هو بت الثالث من هذا الميناء الذي يستخدم في المقاطعة.
شكرا جزيلا ،

Mehipour

 
PINB وPB2 هي وحدات الماكرو.في بعض الملفات رأس انك بما في ذلك ، وهناك تعريفات للPINB وPB2 ؛ على سبيل المثال ، إذا كنت تستخدم avr دول مجلس التعاون الخليجي ، بما في ذلك كنت iom32.h (عبر io.h) ، والذي يتضمن :

تعريف # PINB _SFR_IO8 (0x16)

و

تعريف # PB2 2جي دبليو

 
مرحبا mehipour :
اعتقد ان كلمة كله
"إذا كان (PINB & (1 <<PB2)) == 0)"
يعني إذا PB2 يساوي 0 (PB2 منخفض).
في ICCAVR ، للحصول على صفة الإعلام والتوعية (eg.PB2) ، يمكنك أن تقرأ سجل PINX (eg.PINB) ، ولكن القيمة تتألف من جميع PINX (8 بت) ، لذا يجب التخلص من بعض البتات "، & ( 1 <<PB2) "يستخدم لهذا المنصب.

 

Welcome to EDABoard.com

Sponsor

Back
Top