اطلاعیه

Collapse
No announcement yet.

انتساب بیت یک متغیر به پین یک میکرو در زبان سی در کامپایلر میکرو سی arm

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

    انتساب بیت یک متغیر به پین یک میکرو در زبان سی در کامپایلر میکرو سی arm

    سلام...خوب هستین؟
    بعد مدت تقربا دو سال دوباره اومدم ولی این بار خیلی متفاوت تر از قبل
    خیلی از کاربرا رو دیگه نمیشناسم
    یعنی تو خدمت انقد اذیتمون کردن که نزدیک بود نام eca هم از یادمون برود
    تا مدیر رو عصبی نکنم میرم سر اصل مطلب

    من هر سوالی درباره زبان سی داشته باشم اینجا مطرح می کنم و راهنمایی میخوام
    معادل زبان سی دستور روبه چی میشه لطفا راهنمایی بفرمایید
    کلی گشتم ولی نتیجه ای نگرفتم
    کد:
      
    [COLOR=#008000][SIZE=5]dim a as byte 
    a.0=portb.5[/SIZE][/COLOR]
    من میخوام توی زبان سی و کامپایلر میکرو سی ARM به بیت های یک متغیر از نوع int دسترسی داشته باشم و هر بیت رو به پین مجزا اختصاص بدم
    در صورت امکان با سوادای انجمن و اساتید محترم راهنمایی کنند
    برد جوجه کشی:
    مطالعه پست 1 (حتما مطالعه کنید)


    مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

    دانلود

    توجه:
    این برد نیمه صنعتی و خانگی هست...
    برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

    آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

    #2
    پاسخ : انتساب بیت یک متغیر به پین یک میکرو در زبان سی در کامپایلر میکرو سی arm

    نوشته اصلی توسط ry.mohammad نمایش پست ها
    سلام...خوب هستین؟
    بعد مدت تقربا دو سال دوباره اومدم ولی این بار خیلی متفاوت تر از قبل
    خیلی از کاربرا رو دیگه نمیشناسم
    یعنی تو خدمت انقد اذیتمون کردن که نزدیک بود نام eca هم از یادمون برود
    تا مدیر رو عصبی نکنم میرم سر اصل مطلب

    من هر سوالی درباره زبان سی داشته باشم اینجا مطرح می کنم و راهنمایی میخوام
    معادل زبان سی دستور روبه چی میشه لطفا راهنمایی بفرمایید
    کلی گشتم ولی نتیجه ای نگرفتم
    کد:
      
    [COLOR=#008000][SIZE=5]dim a as byte 
    a.0=portb.5[/SIZE][/COLOR]
    من میخوام توی زبان سی و کامپایلر میکرو سی ARM به بیت های یک متغیر از نوع int دسترسی داشته باشم و هر بیت رو به پین مجزا اختصاص بدم
    در صورت امکان با سوادای انجمن و اساتید محترم راهنمایی کنند
    سلام
    با این دو شرط زیر میشه مقدار portb.0 رو چک کرد
    کد:
      if ( GPIOB->IDR & (1<<0) ) //agar meghdar barabar ba 1 bood
      if ( ~(GPIOB->IDR & (1<<0)) ) //agar meghdar barabar ba 0 bood

    دیدگاه


      #3
      پاسخ : انتساب بیت یک متغیر به پین یک میکرو در زبان سی در کامپایلر میکرو سی arm

      نوشته اصلی توسط M3R-E نمایش پست ها
      سلام
      با این دو شرط زیر میشه مقدار portb.0 رو چک کرد
      کد:
        if ( GPIOB->IDR & (1<<0) ) //agar meghdar barabar ba 1 bood
        if ( ~(GPIOB->IDR & (1<<0)) ) //agar meghdar barabar ba 0 bood
      سلام
      ممنون از جوابت یه توضیح مختصری در مورد این کدا بدین اگر امکانش هست
      مشکل من اینه که نمی تونم یه بیت از متغیر مثلا int رو تو یه متغیر بیت ذخیره کنم سپس این متغیر بیت رو به پین بفرستم و اگر این بیت بایت تعریف شود مسلمه که خطا میده
      برد جوجه کشی:
      مطالعه پست 1 (حتما مطالعه کنید)


      مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

      دانلود

      توجه:
      این برد نیمه صنعتی و خانگی هست...
      برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

      آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

      دیدگاه


        #4
        پاسخ : انتساب بیت یک متغیر به پین یک میکرو در زبان سی در کامپایلر میکرو سی arm

        نوشته اصلی توسط ry.mohammad نمایش پست ها
        سلام
        ممنون از جوابت یه توضیح مختصری در مورد این کدا بدین اگر امکانش هست
        مشکل من اینه که نمی تونم یه بیت از متغیر مثلا int رو تو یه متغیر بیت ذخیره کنم سپس این متغیر بیت رو به پین بفرستم و اگر این بیت بایت تعریف شود مسلمه که خطا میده
        زبان سی کلا با بسکام فرق داره و واسه دستورات بیتی چیزی وجود نداره و تمام کارا رو باید خودتون انجام بدین
        مثلا تو کد بالا GPIOB->IDR اشاره میکنه به رجیستر ورودی PORTB که معادل PINB در میکرو های AVR هست.حالا اومدیم این متغیر رو با 1(عدد 1 که به اندازه 0 عدد شیفت دادیم سمت چپ) AND کردیم و بعد جواب رو چک میکنیم
        با این روشی که گفتم میتونید اون بیتی که مد نظرتون هست در متغیر int رو چک کنید

        دیدگاه


          #5
          پاسخ : انتساب بیت یک متغیر به پین یک میکرو در زبان سی در کامپایلر میکرو سی arm

          نوشته اصلی توسط M3R-E نمایش پست ها
          زبان سی کلا با بسکام فرق داره و واسه دستورات بیتی چیزی وجود نداره و تمام کارا رو باید خودتون انجام بدین
          مثلا تو کد بالا GPIOB->IDR اشاره میکنه به رجیستر ورودی PORTB که معادل PINB در میکرو های AVR هست.حالا اومدیم این متغیر رو با 1(عدد 1 که به اندازه 0 عدد شیفت دادیم سمت چپ) AND کردیم و بعد جواب رو چک میکنیم
          با این روشی که گفتم میتونید اون بیتی که مد نظرتون هست در متغیر int رو چک کنید
          ممنون
          به همین روش تونستم به بیتها دسترسی داشته باشم ولی متاسفانه سرعت کم میشه در هر صورت
          برد جوجه کشی:
          مطالعه پست 1 (حتما مطالعه کنید)


          مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

          دانلود

          توجه:
          این برد نیمه صنعتی و خانگی هست...
          برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

          آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

          دیدگاه

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