اطلاعیه

Collapse
No announcement yet.

مشکل با پورت در CCS

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با پورت در CCS

    سلام
    معادل دستورات PORTB&=0xe0 یا PORTB|=0xe0
    چیه؟ در واقع بخواهی چند بیت از یک پورت را بدون تغییر چند بیت دیگر مقدار دهی کنی؟
    البته در کامپایلر CCS
    دستورات بیتی برای این کار مناسب نیست
    مثل این دستورات output_high(PIN_B0)
    output_low(PIN_B1)

    ایا کامپایلر CCS کامپایلر خوب و کاملی هست؟

    ممنون :question: :question: :question: :question: :question: :question: :question:

    #2
    پاسخ : مشکل با پورت در CCS

    شما میتونید از همون دستورات استفاده کنید منتها برای آدرس دهی مستقیم پورت باید اول اون رو با ‎#byte تعریف کنید.
    برای آدرس دهی مستقیم رجیستر ها در CCS به این پست مراجعه کنید.

    در ضمن اگر میخواید روی یک پورت هم ورودی و خروجی داشته باشید باید از دایرکتیو ‎#USE FAST_IO استفاده کنید و TRIS رو خوتون کنترل کنید.

    نوشته اصلی توسط Mr.X
    ایا کامپایلر CCS کامپایلر خوب و کاملی هست؟
    بستگی داره منظورتون از خوب و کامل چی باشه. با CCS هر کاری بخواید میتونید بکنید.

    دیدگاه


      #3
      پاسخ : مشکل با پورت در CCS

      دوست عزیز در صورت امکان بیشتر توضیح بدید اون پست را خوندم ولی زیاد متوجه نشدم
      من چند پین از پورت bوc را به دیتای سگمنت وصل کردم و بقیه پین ها ورودی کلید یا خروجی به عنوان راه انداز کام سگمنت هستند.
      در avr مشکلی نیست و این کار به سادگی انجام میشه.
      ولی الان باید پروژه ای را با pic انجام بدم :read: :read: :read: :read:

      دیدگاه


        #4
        پاسخ : مشکل با پورت در CCS

        در ابتدای برنامه می‌نویسید:
        کد:
        #byte PORTB    = getenv("SFR:PORTB")
        و اینجوری پینها رو صفر و یک میکنید:
        کد:
        PORTB &= 0xe0;
        PORTB |= 0xe0;
        نکته ای که باید مد نظر داشته باشید اینه که پورتهای PIC رجیستری دارند بنام TRIS که ورودی یا خروجی بودن پینها رو مشخص می‌کنه.
        توابع خود کامپایلر مثل output_high و غیره، این رجیستر رو مقدار دهی میکنن.
        شما اگر مسیتقم تو رجیستر PORTB مینویسید باید رجیستر TRIS رو هم خودتون مقدار دهی کنید.

        دیدگاه

        لطفا صبر کنید...
        X