اطلاعیه

Collapse
No announcement yet.

دسترسی به پورت ها در مد fast

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

    دسترسی به پورت ها در مد fast

    سلام دوستان.
    من تازه کا با lpc1313 رو شروع کردم با نرم افزار keil.
    اما وقتی از دستور FIO0DIR استفاده میکنم این کمپایلر این ارور رو میده:
    identifier "FIO0CLR" is undefined
    آیا نیاز به تنضیمات خاص یا include کردن هدر خاصی هست؟ :question:
    ببخشید دیگه تازه کارم
    تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

    #2
    پاسخ : دسترسی به پورت ها در مد fast

    بله نیاز به LPC1313_gpio.h داری و یا شاید lpc13XX_gpio.h
    انجام پروژه هاي برنامه نويسي اندرويد
    [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
    http://cafebazaar.ir/app/?id=com.atxdroid

    دیدگاه


      #3
      پاسخ : دسترسی به پورت ها در مد fast

      اگه امکان داره بیشتر توضیح بدین.
      چون هر کاری کردم باز هم نشد.
      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

      دیدگاه


        #4
        پاسخ : دسترسی به پورت ها در مد fast

        این کتابخونه های که تا حالا برای 13XX اومده که اون که من گفتم توشون نیست!!
        http://ics.nxp.com/support/lpcxpresso/zip/CMSISv2p00_LPC13xx.zip
        این هم یه چند تا مثال بر پایه cmsis
        http://ics.nxp.com/support/lpcxpresso/zip/examples.lpc13xx.zip
        که متاسفانه من داخلشون gpio دیدم ولی مد فست رو ندیدم!
        انجام پروژه هاي برنامه نويسي اندرويد
        [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
        http://cafebazaar.ir/app/?id=com.atxdroid

        دیدگاه


          #5
          پاسخ : دسترسی به پورت ها در مد fast

          با تشکر از پاسختون ولی من که هیچی نفهمیدم.
          توی مجله های pmm همین طوری نوشته و اصلا توضیح نداده که باید چه کار کنیم.
          توی help نرم افزار keil هم که اصلا این دستور نیست.
          دوستان لطفا کمک کنید.
          تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

          دیدگاه


            #6
            پاسخ : دسترسی به پورت ها در مد fast

            من کلی برات گشتم وبه این نتیجه رسیدم که یا حالت فست نداره یا اگه داره من ندیدم ازش استفاده شده باشه وحالت معمولی این طوریه!!
            LPC_GPIO0->DIR = 0xFFFFFFFF;

            موفق باشی
            نیاز به کتاب خونه lpc13XX.h هم داری!!
            انجام پروژه هاي برنامه نويسي اندرويد
            [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
            http://cafebazaar.ir/app/?id=com.atxdroid

            دیدگاه


              #7
              پاسخ : انتخاب منبع کلاک

              ببخشید دو تا سوال دیگه هم داشتم که گفتم پست جدید نزنم.
              توی lpc1313 چه طوری میشه منبع کلاک رو انتخاب کرد؟منظورم اسیلاتور داخلی یا خارجی هست.
              ممنون میشم اگه رجیستر های این بخش رو به طور کامل برام توضیح بدین
              اون مقدار اسیلاتور رو که در نرم افزار flash magic وارد میکنیم دقیقا چه؟
              تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

              دیدگاه


                #8
                پاسخ : دسترسی به پورت ها در مد fast

                فکر کنم این باشه

                در مورد فلش میجیک هم من چیزی نمیدونم چون با خود کیل میریزم روی میکرو و در مورد دیگر ریجستر ها خودش که توی اسمش نوشته دیگه چه توضیحی میخواد؟؟
                انجام پروژه هاي برنامه نويسي اندرويد
                [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
                http://cafebazaar.ir/app/?id=com.atxdroid

                دیدگاه


                  #9
                  پاسخ : دسترسی به پورت ها در مد fast

                  نوشته اصلی توسط محسن فاریابی
                  من کلی برات گشتم وبه این نتیجه رسیدم که یا حالت فست نداره یا اگه داره من ندیدم ازش استفاده شده باشه وحالت معمولی این طوریه!!
                  LPC_GPIO0->DIR = 0xFFFFFFFF;

                  موفق باشی
                  نیاز به کتاب خونه lpc13XX.h هم داری!!
                  سلام

                  چرا اتفاقا فقط حالت فست را پشتیبانی میکند



                  باید با فرمت زیر نوشته شود
                  LPC_GPIO2->DIR = 0x000000ff;

                  دیدگاه


                    #10
                    پاسخ :پروگرام کردن lpc1313

                    ضمن تشکر از همگی
                    فقط همین یک سوال باقی مونده:
                    من از این پروگرامر استفاده میکنم
                    http://www.kavirelectronic.ir/eshop/...roduct=1200102
                    حالا برای پروگرام کردن lpc1313 این پروگرامر رو باید به کدوم پایه ها وصل کنم؟
                    نمیخوام اولین arm رو به خاطر سهل انگاری بسوزونم :mrgreen:
                    تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                    دیدگاه


                      #11
                      پاسخ : دسترسی به پورت ها در مد fast

                      Hello... :smile:
                      تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                      دیدگاه


                        #12
                        پاسخ : دسترسی به پورت ها در مد fast

                        در مورد سوال اول باید بگم که در سری های جدید میکروکنترولرهای nxp دسترسی به پورت های خروجی فقط از طریق باس مستقیم یا AHP میسر شده و این امکان رو می ده که سریعتر به رجیستر های پورت خروجی دسترسی داشته باشیم . در سری های قدیمی دسترسی به پورت خروجی فقط از طریق باس دستگاه های جانبی یا APB امکان پذیر بود و این سرعت کار را با پورت های خروجی قدری پایین می آورد . در سری های lpc23xx برای تطابق با سری های قدیمی تر ، دسترسی به پورت خروجی از طریق دو روش فوق امکان پذیر شد و برای کار با رجیستر های پورت در حالت سریع یک F ابتدای نام رجیسترها اضافه کردند وبنابر این چون در سری های جدید فقط یک روش برای دسترسی به پورت وجود دارد ، حرف F در نام رجیستر های پورت حذف شده

                        در پا ورقی برای اون دسته از دوستانی که از پایین بودن سرعت پورتها ناراحت هستند باید بگم که برای بالا بردن سرعت کار با پورت ها ، باید برنامه از RAM اجرا شود . اجرای برنامه از FLASH میکرو چند برابر کند تر می باشد . و همینطور استفاده از دستورات اسمبلی در استفاده از پورتها سرعت به حد باورنکردنی بالا می رود .

                        در مورد موضوع دوم باید بگم که ساختار پورتها در سری LPC13xx قدری با بقیه میکروکنترولرهای شرکت nxp متفاوت می باشد. پین های ورودی و خروجی در قالب 4 پورت 12 بیتی ارائه شده اند.
                        اول اینکه برای هر پین یک رجیستر جهت تنظیمات اولیه در نظر گرفته شده است در این رجیستر تنظیماتی مثل ، تعیین عملکرد پین یا اختصاص دادن پین به دستگاه های جانبی – فعال کردن pull-up یا pull-down – فعال کردن هیستر زیس برای پین در حالت ورودی – open-drain کردن پین در حالت خروجی و غیره انجام می شود . نام این رجیستر IOCON_PIOx_x می باشد و در برنامه به صورت زیر نوشته می شود
                        LPC_IOCON->PIOx_x = Y
                        در x اول شماره پورت و در x دوم شماره بیت از پورت و Y مقداری که می بایست در رجیستر نوشته شود
                        دوم رجیستر GPIODIR جهت تعیین ورودی یا خروجی بودن هر پین از پورت استفاده می شود و در برنامه به صورت زیر نوشته می شود
                        LPC_GPIOx-> DIR = Y
                        سوم رجیستر GPIODATA که رجیستر اصلی پورت می باشد یعنی اگر پورت خروجی تعیین شده باشد نوشتن در این رجیستر یعنی نوشتن در پورت و خواندن این رجیستر یعنی خواندن رجیستر خروجی و اگر ورودی تعیین شده باشد نوشتن در این رجیستر تاثیری ندارد و خواندن این رجیستر یعنی خواندن وضعیت پین ها
                        این رجیستر در برنامه به صورت زیر نوشته می شود .
                        LPC_GPIOx->DATA = Y
                        چهارم رجیستر GPIODATAMASK این رجیستر جهت ماسک کردن یا بهتر بگم یک نوع فیلتر برای DATA می باشد . باید بگم که عمل کردش یخورده جالبه چون توسط این رجیستر دسترسی بیتی امکان پذیر می شود. برای هر پورت 4096 رجیستر وجود داره ، به اندازه تمام حالاتی که یک رجیستر 12 بیتی می تواند داشته باشد . به طور مثال اگر قرار باشه بیت شماره سه از پورت دو ، صفر یا یک شود باید از رجیستر هشتم استفاده بشه به صورت زیر
                        LPC_GPIO2->MASKED_ACCESS[8]= 0xfff
                        ویا
                        LPC_GPIO2->MASKED_ACCESS[8]= 0x008
                        LPC_GPIO2->MASKED_ACCESS[1<<3]= 0x008

                        در هر سه صورت بالا فقط بیت سوم یک می شود
                        LPC_GPIO2->MASKED_ACCESS[8]= 0xff7
                        LPC_GPIO2->MASKED_ACCESS[8]= 0x000
                        در هر دو صورت بالا فقط بیت سوم از پورت دو ، صفر می شود و بقیه بیت ها وضعیت قبلی خود را حفظ می کنند

                        دیدگاه


                          #13
                          پاسخ : دسترسی به پورت ها در مد fast

                          بردی که معرفی کردید در واقع یک مبدل USB TO UART هست که لاجیک خروجی آن 3.6 ولته .
                          آی سی مبدل و هم میکرو تا این سطح لاجیک محافظت شده هستند پس اگر پایه ها رو اشتباه بزنید باعث سوختن نمی شه

                          در LPC1313
                          پایه شماره 47- PIO1_7/TXD به پایه RXD مبدل
                          پایه شماره 46- PIO1_6/RXD به پایه TXD مبدل
                          پایه شماره 4- PIO0_1/ISP به پایه RTS مبدل
                          پایه شماره 3 – PIO0_0/RESET به پایه DTR مبدل
                          متصل می شود

                          دیدگاه


                            #14
                            پاسخ : دسترسی به پورت ها در مد fast

                            واقعا ممنونم از شما آقای Amir.Shahram خیلی خوب و کامل توضیح دادید. :applause:
                            دیگه سوال هام تموم شد. :wow:
                            تولید کننده انواع تابلو فرمان آسانسور با تکنولوژی روز دنیا

                            دیدگاه


                              #15
                              پاسخ : دسترسی به پورت ها در مد fast

                              تو LPC1768 چطور میشه به پورت ها از طریق مد fast یا slow دسترسی داشت؟ تو مجله ی میکرو نوشته بود که بیت 0 رجیستر scs . اما من وقتی به manual نگاه کردم بیت 0 رزرو شده بود .
                              بخشنده بودن بيشتر از آنکه توانايي مالي بخواهد ، قلبي بزرگ ميخواهد..

                              دیدگاه

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