كيفية الوصول إلى bitfield من MSP430 في آي إي آر جيم

C

chen_Analog

Guest
كيفية الوصول إلى bitfield من MSP430 باستخدام آي إي آر C. على سبيل المثال ، أنا أريد أن تعيين أو إعادة تعيين من أي فرد من بت رمز ج.

 
لا يعرف هذا :

تعريف # bit_test (أ ، ب) (أ و ب)
تعريف # bit_set (أ ، ب) و| = باء
تعريف # bit_clear (أ ، ب) وباء & = ~

ثم قمت للتو ادخال رأس المعالج :

# تشمل "msp430x14x.h"الآن إذا كنت تريد تعيين بت 0 في أي سجل للمتغير بسيط تفعل ذلك :

bit_set (ANY_REGISTER ، BIT0) ؛لإستعادة

bit_clear (ANY_REGISTER ، BIT0) ؛لاختبار ما إذا كان تم تعيين بت

إذا كان (bit_test (ANY_REGISTER ، BIT0))
(
)لاختبار ما إذا كان قليلا هو واضح

إذا (! bit_test (ANY_REGISTER ، BIT0))
(
)تفعل الشيء نفسه بالنسبة
BIT1 ، BIT2 ، BIT3 ، BIT4 ، BIT5 ، BIT6 ، BIT7 ، BIT8 ، Bit9 ، بيتا ، BITB ، BITC ، BITD ، لدغة ، BITF
هذه هي المعرفة على رأس المعالج مثل ذلك...

تعريف # BIT0 (0x0001)
تعريف # BIT1 (0x0002)
تعريف # BIT2 (0x0004)
تعريف # BIT3 (0x0008)
تعريف # BIT4 (0x0010)
تعريف # BIT5 (0x0020)
تعريف # BIT6 (0x0040)
تعريف # BIT7 (0x0080)
تعريف # BIT8 (0x0100)
تعريف # Bit9 (0x0200)
# تعريف بيتا (0x0400)
تعريف # BITB (0x0800)
تعريف # BITC (0x1000)
تعريف # BITD (0x2000)
تعريف # بايت (0x4000)
تعريف # BITF (0x8000)

leomecma

 
أنا أعرف هذا الأسلوب ، ولكن أعتقد أن هذا لا يزال غير كامل ولكن قليلا الوصول تسجيل الدخول

وفيما يلي مثال على الوصول إلى بت :
__no_init اتحاد متقلبة
(
غير الموقعة IE1 تشار
البنية
(
غير الموقعة WDTIE شار : 1 ؛
غير الموقعة OFIE شار : 1 ؛
الحرف غير الموقعة : 2 ؛
غير الموقعة NMIIE شار : 1 ؛
غير الموقعة ACCVIE شار : 1 ؛
غير الموقعة URXIE0 شار : 1 ؛
غير الموقعة UTXIE0 شار : 1 ؛
IE1_bit) ؛
@) 0x0000 ؛

أعلاه من قبل بما في ذلك رمز إلى رمز مستخدم فمن الممكن الوصول إلى إما كليا أو تسجيل أي بت فردية (أو birtfields) من التعليمات البرمجية كما يلي "

/ / سجل وصول كامل

IE1 = 0x1234 ؛

/ / Bitfield العدد

IE1.WDTIE = 1 ؛

وأنا أحاول ذلك
، ولكن لا يمكن تحقيق النجاح.أنا لا أعرف لماذا؟

 
آي إي آر لا تدعم هذه الأوضاع.leomecma

 
chen_Analog ،
وأعتقد أنكم الحل هو استخدام وحدات الماكرو.

في بلدي proyects مع MSP430 يمكنني استخدام...

تعريف # RTSon () P3OUT! = 0x04 / / يجري BIT4 من P3 = 1
تعريف # RTSoff () P3OUT & = ~ 0x04 / / deing BIT4 من P3 = 0

ثم

الرئيسية ()
(
...
...
/ / الان اريد نعمان = 1
RTSon () ؛
...
.....
/ / الآن نعمان = 0
RTSoff () ؛
...
...)

هذا المثال
، يمكنك أن تنطبق على عملك
أي

مع أطيب التحيات
FSio

 

Welcome to EDABoard.com

Sponsor

Back
Top