اطلاعیه

Collapse
No announcement yet.

توضیح در مورد ورودی و خروجی کردن پورت های arm stm

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

    توضیح در مورد ورودی و خروجی کردن پورت های arm stm

    با درود و خسته نباشید
    توی میکرو های avr و pic برای ورودی و خروجی کردن پورت ها ما ddr یا tris عدد میدادیم مثلا اگه tris =0 میکردیم اون پورت خروجی میشد و اگه 1 میدادیم ورودی حالا من یه سرچی کردم در موردی stm یه جورایی گنگ بود برام مثلا دوستان نوشته بودند باید توی رجیستر فلان عدد
    0x44444444
    بریزی تا مثلا ورودی بشه یا بلعکس ؟؟؟
    مثلا این مثال


    [COLOR=#333333][FONT=tahoma]GPIOB -> CRL = 0x88888888[/FONT][/COLOR]
    [COLOR=#333333][FONT=tahoma]GPIOB -> CRH = 0x22222222[/FONT][/COLOR]
    [COLOR=#333333][FONT=tahoma]i = GPIO -> IDR[/FONT][/COLOR]

    GPIOB -> CRL = 0x88888888
    GPIOB -> CRH = 0x22222222
    i = GPIO -> IDR

    #2
    پاسخ : توضیح در مورد ورودی و خروجی کردن پورت های arm stm

    سلام
    در stm هم تقریبا همونه ولی چون 32 بیتی هست و همینطور امکانات بالتر یخورده گنگ میشی
    در میکرو کنترلر های ارم بخاطر گستردگی رجیستر ها و خونایی بهتر از کتابخانه های cmsis و hal استفاده میشه البته اخری برای میکروهای stm هست
    دیگه مستقیما با رجیستر کار نمیکنن
    مطلب دیگه مثلا reset کردن کل پورت در کامپایلر مورد نظر شما در میکروهای avr / pic با arm و کامپایلر هاش متفاوته

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    مثلا در دستور زیر
    در خط اول پین ها رو مشخص میکنی
    در خط دوم که مود هست ورودی و خروجی رو انتخاب میکنی
    در خط سوم نوع پول اپ و پول دان رو انتخاب میکنی
    در خط چهارم سرعت عملکرد پین رو انتخاب میکنی
    در خط اخر نوع پورت رو که در مثال زیر پورت a هست رو انتخاب میکنی
     GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

    دیدگاه


      #3
      پاسخ : توضیح در مورد ورودی و خروجی کردن پورت های arm stm

      شپاس پس شما پیشنهاد میکنید که من رجیستری کار نکنم ؟؟؟ آیا آموزش در مورد cmsis دارید که دستورات cmsis به صورت کلی داشته باشه ؟؟؟
      help keill خیلی شلوغه و چیز زیادی نمیشه ازش فهمید

      دیدگاه


        #4
        پاسخ : توضیح در مورد ورودی و خروجی کردن پورت های arm stm

        سلام
        اموزش های فارسی تو انجمن هست
        ولی بنظرم باتجربه بدست بیاری خوبه
        تو ادرس زیر میتونی دانلود کنی
        امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

        دیدگاه


          #5
          پاسخ : توضیح در مورد ورودی و خروجی کردن پورت های arm stm

          آقا خیلی خیلی ممنون
          چی سرچ کردی که اومد چون برای LPC هم میخوام سرچ کنم .

          دیدگاه


            #6
            پاسخ : توضیح در مورد ورودی و خروجی کردن پورت های arm stm

            اگه با رجیستری کار کنی کدت خیلی سریع تر اجرا میشه، چون بعضی از توابع چند مورد رو چک میکنن بعد نهایتا اونها هم رو رجیستری داده ها رو قرار میدن اما همین چک کردن بعضی پارامترها کار رو یه مقدار کند میکنه، خوبیش اینه اگه تازه کار باشی مقدار خارج از رنج به تابع بدی خودش این موارد رو چک میکنه تا میکرو دچار hard fault نشه.

            دیدگاه

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