ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11
  1. #1
    2012/12/28
    32
    12

    کد نویسی برای رجیسترهای پایه stm32f103x در IAR

    سلام.دوستان من میخوام برای نوشتن برنامه واسه میکرو stm و برد اموزشیش که از همین فروشگاه خریدم کد بزنم تو IAR اما نمیخوام از کتابخونه استفاده کنم و میخوام خودم با رجیسترها مستقیم کار کنم.فعلا هدف راه اندازی LED های برده تا نحوه تنظیم رجیسترهای کلاک و I/O و پیکربندیشون رو بفهمیم.اینارو انجام بدیم دیگه بقیه کارها رو رواله.
    تا این جا رو میدونم که نقطه شروع از هدر iostm32f10xxE.h هست و استراکچرهای رجیسترها تو این هدر اومده.حالا سوال اینه چطور از این استراکچرها استفاده کنیم.من که هر کار کردم نشد :angry:
    به طور خلاصه میخوایم به هر رجیستر و هر بیت اون برای خوندن و نوشتن دسترسی پیدا کنیم.
    خواهش میکنم اگه بلدین بگین. :agree:
    من سعی کردم شبیه مال میکرو اتمل که کداش زیاده انجام بدم اما نشد.هر کی بلده بسم الله.
    میخوام از این تاپیک یه اموزش از پایه بزاریم بر مبنای فقط IAR
    رجیسترهارو که راه افتادیم با کتابخونه نویسی و هدر نویسی ادامه میدیم :job:
    خطاب به داعش:
    ای وای اگر پا به حرم بگذاری/یک تکه ز دیوار حرم برداری/شیعه به بین الحرمین حساس است/گفتم که به گوش سگیت بسپاری
    ما از سبوی شاه دین مجنون و مستیم/برگرد تا سربند یا زهرا(س) نبستیم
  2. #2
    2012/12/28
    32
    12

    پاسخ : کد نویسی برای رجیسترهای پایه stm32f103x در IAR

    دوستان این کد رو نوشتم اما سر این خط ارور میگیره
    if(__rcc_cr_bits->HSERDY ==0x1)

    به نظرتون چطور میتونم بیت HSERDY رو بخونم و توی HSEON بنویسم؟؟

    کد:
    #include <iostm32f10xxE.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    
    void delay(void)
    {
     int b=0,a=1;
     while(a)
     {
     b++;
     if(b>1000000)
      a=0;
     }
    }
    
    
    void clk_confg(void)
    {
     int a=0;
     while(a!=1)
     {
      if(__rcc_cr_bits->HSERDY ==0x1)
      {
      
       RCC_CR=0x01010080;
       RCC_CFGR=0x06510402;
       RCC_APB2ENR=0x0000001fe;
       a=1;
      }
     }
    }
    
    void io_reg(void)
    {
    GPIOF_CRL=0x77777777;
    GPIOF_CRH=0x77777777;
    }
    
    
    void main()
    {
     clk_confg();
     io_reg();
    while(1)
    {
     GPIOF_ODR=0x0000ffff;
    //delay();
    //GPIOF_ODR=0x00000000;
    }
    }
    خطاب به داعش:
    ای وای اگر پا به حرم بگذاری/یک تکه ز دیوار حرم برداری/شیعه به بین الحرمین حساس است/گفتم که به گوش سگیت بسپاری
    ما از سبوی شاه دین مجنون و مستیم/برگرد تا سربند یا زهرا(س) نبستیم
  3. #3
    2007/08/04
    اصفهان
    577
    4

    پاسخ : کد نويسي براي رجيسترهاي پايه stm32f103x در IAR

    سلام
    سمپل در محل خود نصب نرم افزار نداره IAR ؟
    فيلم آموزشي ميکروکنترلر LPC1768
    فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
    فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
    فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...
  4. #4
    2012/12/28
    32
    12

    پاسخ : کد نویسی برای رجیسترهای پایه stm32f103x در IAR

    برای stm32f103zet6 نداره.اگرم باشه تا توابع هست معلوم نی کجا رجیسترارو دست زده :angry:
    خطاب به داعش:
    ای وای اگر پا به حرم بگذاری/یک تکه ز دیوار حرم برداری/شیعه به بین الحرمین حساس است/گفتم که به گوش سگیت بسپاری
    ما از سبوی شاه دین مجنون و مستیم/برگرد تا سربند یا زهرا(س) نبستیم
  5. #5
    2012/12/28
    32
    12

    پاسخ : کد نویسی برای رجیسترهای پایه stm32f103x در IAR

    آقا یه جوانمرد پیدا نمیشه زکات علمشو بده و به ما بگه چطور اینکارو بکنیم؟؟؟ :cry:
    اصلا یه کار دیگه بکنیم.یکی بگه چطور واسه یه پورت GPIO ساده قسمتای مورد نیازی که تو هدر stm32f10x هست رو تو خودبرنامه اصلی بنویسیم.منظورم نوشتن پوینتر واسه رجیسترهای مورد نیاز! :applause:
    خطاب به داعش:
    ای وای اگر پا به حرم بگذاری/یک تکه ز دیوار حرم برداری/شیعه به بین الحرمین حساس است/گفتم که به گوش سگیت بسپاری
    ما از سبوی شاه دین مجنون و مستیم/برگرد تا سربند یا زهرا(س) نبستیم
  6. #6
    2012/12/28
    32
    12

    پاسخ : کد نویسی برای رجیسترهای پایه stm32f103x در IAR

    دوستان کد های زیر در فایل هدر اصلی میکروstm32f10xxE.h من اینجا آوردم.سوال اینه که چطور به استراکچر بیتی رجیستر مثلا کلاک به هر عنصرش که همون تک بیت های ما هستن دسترسی پیدا کنیم؟؟چطور بنویسیم مثلا بیت HSEON یک بشه؟؟؟کدش چیه تو برنامه main.c ؟؟؟؟
    سوال دوم اینه که اون کدهای قسمت اخر به چه معناست؟؟
    کد:
    /* Clock control register (RCC_CR) */
    typedef struct {
     __REG32 HSION     : 1;
     __REG32 HSIRDY     : 1;
     __REG32         : 1;
     __REG32 HSI_TRIM    : 5;
     __REG32 HSI_CAL    : 8;
     __REG32 HSEON     : 1;
     __REG32 HSERDY     : 1;
     __REG32 HSEBYP     : 1;
     __REG32 CSSON     : 1;
     __REG32         : 4;
     __REG32 PLLON     : 1;
     __REG32 PLLRDY     : 1;
     __REG32         : 6;
    } __rcc_cr_bits;
    
    /* Clock configuration register (RCC_CFGR) */
    typedef struct {
     __REG32 SW       : 2;
     __REG32 SWS      : 2;
     __REG32 HPRE      : 4;
     __REG32 PPRE1     : 3;
     __REG32 PPRE2     : 3;
     __REG32 ADC_PRE    : 2;
     __REG32 PLLSRC     : 1;
     __REG32 PLLXTPRE    : 1;
     __REG32 PLLMUL     : 4;
     __REG32 USBPRE     : 1;
     __REG32         : 1;
     __REG32 MCO      : 3;
     __REG32         : 5;
    } __rcc_cfgr_bits;
    و این:
    کد:
    ***************************************************************************/
    __IO_REG32_BIT(GPIOF_CRL,     0x40011C00,__READ_WRITE ,__gpio_crl_bits);
    __IO_REG32_BIT(GPIOF_CRH,     0x40011C04,__READ_WRITE ,__gpio_crh_bits);
    __IO_REG32_BIT(GPIOF_IDR,     0x40011C08,__READ    ,__gpio_idr_bits);
    __IO_REG32_BIT(GPIOF_ODR,     0x40011C0C,__READ_WRITE ,__gpio_odr_bits);
    __IO_REG32_BIT(GPIOF_BSRR,    0x40011C10,__WRITE   ,__gpio_bsrr_bits);
    __IO_REG32_BIT(GPIOF_BRR,     0x40011C14,__WRITE   ,__gpio_brr_bits);
    __IO_REG32_BIT(GPIOF_LCKR,    0x40011C18,__READ_WRITE ,__gpio_lckr_bits);
    
    /***************************************************************************
    خطاب به داعش:
    ای وای اگر پا به حرم بگذاری/یک تکه ز دیوار حرم برداری/شیعه به بین الحرمین حساس است/گفتم که به گوش سگیت بسپاری
    ما از سبوی شاه دین مجنون و مستیم/برگرد تا سربند یا زهرا(س) نبستیم
  7. #7
    2012/12/28
    32
    12

    پاسخ : کد نویسی برای رجیسترهای پایه stm32f103x در IAR

    اقا یعنی هیچکس نمیدونه چطور میشه مستقیما و بدون استاده از فایل و هدر اضافی به رجیسترها دسترسی بیتی داشت؟؟؟!!!! :angry:
    خطاب به داعش:
    ای وای اگر پا به حرم بگذاری/یک تکه ز دیوار حرم برداری/شیعه به بین الحرمین حساس است/گفتم که به گوش سگیت بسپاری
    ما از سبوی شاه دین مجنون و مستیم/برگرد تا سربند یا زهرا(س) نبستیم
  8. #8
    2007/08/04
    اصفهان
    577
    4

    پاسخ : کد نويسي براي رجيسترهاي پايه stm32f103x در IAR

    نقل قول نوشته اصلی توسط yma-313
    اقا يعني هيچکس نميدونه چطور ميشه مستقيما و بدون استاده از فايل و هدر اضافي به رجيسترها دسترسي بيتي داشت؟؟؟!!!! :angry:
    سلام
    براي استفاده از رجيستر براي برنامه نويسي منبع شما رفرنس منوآل است و سمپل هاي همراه
    البته در فروم ايران ميکرو آقاي رضا شريفيان کار با رجيسترها براي GPIO را شرح داده اند که چون مفصله خودتون اونجا مراجعه کنيد:
    انجمن->ميكرو كنترلر ها و ميكرو پروسسور ها ->ميکرو کنترلر هاي 32 بيتيarm)stm32)->شروع آموزش stm32 بر پايه برد سفارشي
    و اينکه مي خواهيد با IAR باشه حتما خوب رجيسترها ثابته و فرقي نداره ولي اگر با نحوه کار با کامپايلر IAR مورد داريد اول با کيل کارتون را انجام بدهيد و تا کار جواب داد و دستتان روي رجيسترها راه افتاد بريد با IAR که قلق بيشتري داره
    فيلم آموزشي ميکروکنترلر LPC1768
    فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
    فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
    فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...
  9. #9
    2012/12/28
    32
    12

    پاسخ : کد نویسی برای رجیسترهای پایه stm32f103x در IAR

    سلااام دوستان
    از قدیم گفتن "جوینده یابنده است"
    بالاخره بعد تلاش فراوان و کمک نکردن دوستان در باره دسترسی بیتی به رجیسترهای stm32 در IAR رفتم و هدر های مختلف رو زیرو رو کردم تا اینکه فهمیدم در هدر های iostm32f10xE.h و io_macros.h یکسری تعاریف هست که میگه باید برای خواندن و نوشتن یک بیت به این صورت عمل کرد(مثلا برای یک کردن بیت HSEON در رجیستر RCC_CR !):
    کد:
    RCC_CR_bit.HSEON=1;
    در واقع باید نام رجیستر رو با _bit پشت سرش بنویسیم و سپس نقطه و بعد نام بیت مورد نظر
    این ساختار برای میکروهای دیگه ممکنه فرق کنه که باید به هدرهای خودشون مراجعه بشه :job:
    در ضمن من تونستم واسه بار اولم ال ای دی هارو روشن خاموش کنم اونم فقط با دسترسی به رجیستر که البته سادست اما خب واسه من کمی سخت بود تا کداشو پیدا کردم :wow:
    خطاب به داعش:
    ای وای اگر پا به حرم بگذاری/یک تکه ز دیوار حرم برداری/شیعه به بین الحرمین حساس است/گفتم که به گوش سگیت بسپاری
    ما از سبوی شاه دین مجنون و مستیم/برگرد تا سربند یا زهرا(س) نبستیم
  10. #10
    2007/08/04
    اصفهان
    577
    4

    پاسخ : کد نويسي براي رجيسترهاي پايه stm32f103x در IAR

    نقل قول نوشته اصلی توسط yma-313
    ... و کمک نکردن دوستان در باره دسترسي بيتي به رجيسترهاي stm32 در IAR
    :eek: اي بابا الان يعني اين پاسخي که دادم کمک نبود! :cry:
    فيلم آموزشي ميکروکنترلر LPC1768
    فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
    فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
    فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 11

موضوعات مشابه

  1. پاسخ: 1
    آخرين نوشته: 2015/09/01, 20:57
  2. پاسخ: 7
    آخرين نوشته: 2014/10/28, 14:21
  3. رجیسترهای avr
    توسط miladzizo در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 3
    آخرين نوشته: 2013/08/10, 22:53
  4. کار با رجیسترهای avr
    توسط majid sh در انجمن میکروکنترلرهای AVR
    پاسخ: 10
    آخرين نوشته: 2011/06/02, 07:55
  5. رجیسترهای at91sam7
    توسط spman در انجمن ATMEL
    پاسخ: 3
    آخرين نوشته: 2010/08/20, 21:00

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •