اطلاعیه

Collapse
No announcement yet.

آموزش CMSIS برای میکروکنترلر LPC1768

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

    آموزش CMSIS برای میکروکنترلر LPC1768

    با سلام
    هر کی دوست داره آموزش CMSIS رو برای LPC1768 شروع کنیم فقط دکمه تشکر رو بزنه و اسپم نده
    اگه تعداد کم نباشه شروع میکنیم! :eek:
    برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

    #2
    پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

    اگر از کیل ورژن 4 استفاده میکنید کار های زیر را انجام بدید:
    1) یه پروژه بسازید و میکرو رو lpc1768 انتخاب کنید. یه سوال میپرسه که فایل استارت پ رو به پروژه اضافه کنم یا نه؟ شما گزینه بله رو انتخاب کنید
    2) فایل های زیر رو به پروژه اضافه کنید
    core_cm3.c
    core_cm3.h
    LPC17xx.h
    system_LPC17xx.h
    system_LPC17xx.c
    3) یه گروه دیگه بسازید و داخلش یه فایل سی درست کنید
    4) داخل همون گروه دو تا فایل مربوط به CMSISرو که یکی هدر فایل و یکی سی هستش رو اضافه کنید
    این فایل ها مربوط به معمولا یک قسمت از راه اندازی میکر هست
    مثلا lpc17xx_gpio.h مربوط به کارکرد پورت های میکرو فقط در حالت ورودی و خروجی می باشد که توابع اون از پست بعدی آموزش داده میشه
    موفق باشید
    برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

    دیدگاه


      #3
      پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

      تابع GPIO_SetDir و FIO_SetDir

      شکل کلی تابع :

      مد نرمال Void GPIO_SetDir(uint8_t portNum, uint32_t bitValue, uint8_t dir)

      مد فست Void FIO_SetDir (uint8_t portNum, uint32_t bitValue, uint8_t dir)

      برای تعیین وضعیت پایه ها به عنوان ورودی یا خروجی در یک پورت ، از این تابع استفاده می-شود.
      • این تابع بر تمامی بیت های باقیمانده که در bitValue غیر فعال هستند ، هیچ تاثیری ندارد.

      ورودی های تابع :

      portNum : شماره پورت مورد نظر (مقدار مجاز : 0 تا 4)
      bitValue : بیت هایی را که ورودی یا خروجی بودنش را میخواهید تغییر دهید ( به صورت 32 بیتی )
      Dir : در صورت مقداردهی 1 ، بیت ها به عنوان خروجی و در صورت مقدار دهی صفر به عنوان ورودی پیکره بندی می شوند.

      خروجی های تابع:
      ندارد
      برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

      دیدگاه


        #4
        پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

        تابع GPIO_SetValue و FIO_SetValue Lpc17xx_gpio.h
        شکل کلی تابع :

        مد نرمال Void GPIO_SetValue (uint8_t portNum, uint32_t bitValue)

        مد فست Void FIO_SetValue (uint8_t portNum, uint32_t bitValue)

        برای یک کردن پایه هایی که خروجی هستند ، از این تابع استفاده میشود.

        • این تابع برای بیت هایی که به عنوان ورودی تعریف شده اند ، هیچ تاثیری ندارد.

        • این تابع برای تمامی بیت های باقیمانده که در bitValue فعال نشده اند ، هیچ تاثیری ندارد.

        ورودی های تابع :

        portNum : شماره پورت مورد نظر

        bitValue : بیت هایی را که به صورت خروجی تنظیم شده اند را یک میکند ( به صورت 32 بیتی )

        خروجی های تابع:
        ندارد
        برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

        دیدگاه


          #5
          پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

          تابع GPIO_ClearValue و FIO_ClearValue

          شکل کلی تابع :

          مد نرمال Void GPIO_ClearValue (uint8_t portNum, uint32_t bitValue)

          مد فست Void FIO_ClearValue (uint8_t portNum, uint32_t bitValue)

          این تابع برای صفر کردن پایه هایی که خروجی تعریف شده اند ، بکار می رود.

          • این تابع برای بیت هایی که به عنوان ورودی تعریف شده اند ، هیچ تاثیری ندارد.

          • این تابع برای تمامی بیت های باقیمانده که در bitValue فعال نشده اند ، هیچ تاثیری ندارد.

          ورودی های تابع :

          portNum : شماره پورت مورد نظر

          bitValue : بیت هایی را که به صورت خروجی تنظیم شده اند را صفر میکند ( به صورت 32 بیتی )

          خروجی های تابع:

          ندارد
          برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

          دیدگاه


            #6
            پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

            تابع GPIO_ReadValue و FIO_ReadValue

            شکل کلی تابع :

            مد نرمال uint32_t GPIO_ReadValue (uint8_t portNum)

            مد فست uint32_t FIO_ReadValue (uint8_t portNum)

            برای خواندن وضعیت پین های یک پورت ، از تابع فوق استفاده می شود.

            • مقدار بازگشتی شامل وضعیت هر پین از پورت GPIO ، بدون در نظر گرفتن ورودی یا خروجی بودن آن می باشد

            ورودی های تابع :

            portNum : شماره پورت مورد نظر برای خواندن وضعیت پین های ورودی

            خروجی های تابع:

            uint32_t : وضعیت پین های ورودی به صورت 32 بیتی
            برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

            دیدگاه


              #7
              پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

              تابع FIO_SetMask

              شکل کلی تابع :

              Void FIO_SetMask (uint8_t portNum, uint32_t bitValue, uint8_t maskValue)

              برای اعمال ماسک بر روی پین ها از تابع فوق استفاده می شود.

              • این تابع بر تمامی بیت های باقیمانده که در bitValue غیر فعال هستند ، هیچ تاثیری ندارد

              • پس از اجرای این تابع ، مقدار صفر در در هر بیت دسترسی به پین های متناظر فیزیکی برای خواندن و نوشتن را فعال میکند ، زمانی که مقدار بیت 1 باشد یعنی ماسک شده باشد پین متناظر با نوشتن در آن بیت تغییر نمیکند همچنین در پین های خوانده شده به روز نخواهد شد.

              ورودی های تابع :

              portNum :شماره پورت مورد نظر

              bitValue : بیت هایی که ماسک به آنها اعمال و یا برداشته میشود

              maskValue : با یک کردن این مقدار ماسک اعمال و با صفر کردن ماسک از بیت های انتخابی برداشته میشود.

              خروجی های تابع:

              ندارد

              برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

              دیدگاه


                #8
                پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

                دوستان انگار دوست ندارند راحت برنامه بنویسن :cry:
                برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                دیدگاه


                  #9
                  پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

                  نوشته اصلی توسط hossein_tomari007
                  دوستان انگار دوست ندارند راحت برنامه بنویسن :cry:
                  شما ادامه بده ما پی گیریم فقط سر کلاس صدامون در نمیاد شما تمرکزت به هم نخوره
                  زندگي آن چه که زيسته ايم نيست ، بلکه آن چيزي است که از گذشته به خاطر داريم ...گابريل گارسيا مارکز

                  دیدگاه


                    #10
                    پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

                    تابع FIO_HalfWordSetDir

                    شکل کلی تابع :

                    Void FIO_HalfWordSetDir (uint8_t portNum, uint8_t halfwordNum, uint16_t bitValue, uint8_t dir)

                    برای تعیین ورودی یا خروجی بودن هریک از پین های نصف یک پورت از این تابع استفاده میشود

                    • این تابع بر تمامی بیت های باقیمانده که در bitValue غیر فعال هستند ، هیچ تاثیری ندارد

                    ورودی های تابع :

                    portNum :شماره پورت مورد نظر

                    halfwordNum : شماره نصف پورت (صفر برای بیت های با ارزش پایین و 1 برای ارزش بالا)

                    bitValue : بیت هایی که تعیین جهت (ورودی یا خروجی) خواهند شد

                    Dir :با 0 کردن این مقدار پایه های تعیین شده به عنوان ورودی و با 1 کردن به عنوان خروجی پیکره بندی میشوند

                    خروجی های تابع:
                    ندارد
                    برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                    دیدگاه


                      #11
                      پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

                      تابع FIO_HalfWordSetMask

                      شکل کلی تابع :

                      Void FIO_HalfWordSetMask (uint8_t portNum, uint8_t halfwordNum, uint16_t bitValue, uint8_t maskValue)

                      برای اعمال ماسک بر روی پین های نصف یک پورت از تابع فوق استفاده می شود.

                      • این تابع بر تمامی بیت های باقیمانده که در bitValue غیر فعال هستند ، هیچ تاثیری ندارد

                      • پس از اجرای این تابع ، مقدار صفر در در هر بیت دسترسی به پین های متناظر فیزیکی برای خواندن و نوشتن را فعال میکند ، زمانی که مقدار بیت 1 باشد یعنی ماسک شده باشد پین متناظر با نوشتن در آن بیت تغییر نمیکند همچنین در پین های خوانده شده به روز نخواهد شد.

                      ورودی های تابع :

                      portNum : شماره پورت مورد نظر

                      halfwordNum : شماره نصف پورت (صفر برای بیت های با ارزش پایین و 1 برای ارزش بالا)

                      bitValue : بیت هایی که ماسک به آنها اعمال و یا برداشته میشود به صورت 16 بیتی

                      Dir : با 0 کردن این مقدار پایه های تعیین شده به عنوان ورودی و با 1 کردن به عنوان خروجی پیکره بندی میشوند

                      خروجی های تابع:

                      ندارد
                      برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                      دیدگاه


                        #12
                        پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

                        تابع FIO_HalfWordSetValue

                        شکل کلی تابع :

                        Void FIO_HalfWordSetValue (uint8_t portNum, uint8_t halfwordNum, uint16_t bitValue)

                        برای یک کردن پایه های نصف یک پورت که خروجی هستند ، از این تابع استفاده میشود.

                        • این تابع برای بیت هایی که به عنوان ورودی تعریف شده اند ، هیچ تاثیری ندارد.

                        • این تابع برای تمامی بیت های باقیمانده که در bitValue فعال نشده اند ، هیچ تاثیری ندارد.

                        ورودی های تابع :

                        portNum : شماره پورت مورد نظر

                        halfwordNum : شماره نصف پورت (صفر برای بیت های با ارزش پایین و 1 برای ارزش بالا)

                        bitValue : بیت هایی را که به صورت خروجی تنظیم شده اند را یک میکند به صورت 16 بیتی

                        خروجی های تابع:
                        ندارد
                        برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                        دیدگاه


                          #13
                          پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

                          تابع FIO_HalfWordClearValue

                          شکل کلی تابع :

                          Void FIO_HalfWordClearValue (uint8_t portNum, uint8_t halfwordNum, uint16_t bitValue)

                          برای صفر کردن پایه های نصف یک پورت که خروجی هستند ، از این تابع استفاده می شود.

                          • این تابع برای بیت هایی که به عنوان ورودی تعریف شده اند ، هیچ تاثیری ندارد.

                          • این تابع برای تمامی بیت های باقیمانده که در bitValue فعال نشده اند ، هیچ تاثیری ندارد.

                          ورودی های تابع :

                          portNum : شماره پورت مورد نظر

                          halfwordNum : شماره نصف پورت (صفر برای بیت های با ارزش پایین و 1 برای ارزش بالا)

                          bitValue : بیت هایی را که به صورت خروجی تنظیم شده اند را صفر میکند به صورت 16 بیتی

                          خروجی های تابع:
                          ندارد
                          برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                          دیدگاه


                            #14
                            پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

                            تابع FIO_HalfWordReadValue

                            شکل کلی تابع :

                            uint16_t FIO_HalfWordReadValue (uint8_t portNum, uint8_t halfwordNum)

                            برای خواندن وضعیت پین های نصف یک پورت ، از تابع فوق استفاده می شود.

                            • مقدار بازگشتی شامل وضعیت هر پین از نصف پورت GPIO مشخص شده توسط تابع ، بدون در نظر گرفتن ورودی یا خروجی بودن آن می باشد.

                            ورودی های تابع :

                            portNum : شماره پورت مورد نظر

                            halfwordNum : شماره نصف پورت (صفر برای بیت های با ارزش پایین و 1 برای ارزش بالا)

                            خروجی های تابع:
                            uint16_t : وضعیت پین های ورودی به صورت 16 بیتی
                            برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                            دیدگاه


                              #15
                              پاسخ : آموزش CMSIS برای میکروکنترلر LPC1768

                              تابع FIO_ByteSetDir

                              شکل کلی تابع :

                              Void FIO_ByteSetDir (uint8_t portNum, uint8_t byteNum, uint8_t bitValue, uint8_t dir)

                              برای اختصاص پایه ها به عنوان ورودی یا خروجی در یک بایت از پورت،ازاین تابع استفاده می-شود.

                              • این تابع بر تمامی بیت های باقیمانده که در bitValue غیر فعال هستند ، هیچ تاثیری ندارد.

                              ورودی های تابع :

                              portNum : شماره پورت مورد نظر

                              byteNum : شماره یک بایت از پورت (مقدار مجاز : صفر تا 3)

                              bitValue : بیت هایی را که ورودی یا خروجی بودنش را میخواهید تغییر دهید ( به صورت 8 بیتی )

                              Dir : در صورت مقداردهی 1 بیت ها به صورت خروجی و در صورت مقدار دهی صفر به صورت ورودی پیکره بندی می شوند

                              خروجی های تابع:
                              ندارد
                              برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                              دیدگاه

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