اطلاعیه

Collapse
No announcement yet.

مثال uart با وقفه

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

    مثال uart با وقفه

    با سلام دوستان
    کسی یه مثال درست داره براس سریال با وقفه دریافت
    خیلی گشتم
    مثال خود فیلیپس بود که توی 115200 مشکل داشت
    یسری مثال های دیگه هم بود که بسیار پیچیده بود یا فایل های ضمیمه مشکل داشت؟
    کسی مثال دم دست داره؟
    lpc1768
    هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
    بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
    میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

    تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

    #2
    پاسخ : مثال uart با وقفه

    نمیدونم چرا تا سوال مطرح میکنم سریعتر خودم به جواب میرسم
    http://vip.eca.ir/sharing/uploads/14150330771.rar

    ی سوال دارم متغییری سراسری تعریف کردم توی وقفه اینتراپت تغییرش میدم ولی انجام نمیشه
    مثلا میخوام در صورتی که اینتر خورد فلگی رو 1 بکنه و در main فلگ دائم چک بشه
    هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
    بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
    میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

    تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

    دیدگاه


      #3
      پاسخ : مثال uart با وقفه

      کدی در main دارین رو بذارین ببینیم، اما احتمال داره از بهینه سازی کامپایلر باشه.
      The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

      دیدگاه


        #4
        پاسخ : مثال uart با وقفه

        سلام
        در بعضی سمپل ها از این استفاده کرده. یک متغییر که در تابع اصلی تعریف شده
        extern volatile
        و در کتابخانه اد شده :
        volatile
        فيلم آموزشي ميکروکنترلر LPC1768
        فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
        فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
        فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...

        دیدگاه


          #5
          پاسخ : مثال uart با وقفه

          یه سوال شما چرا واسه خوندن از پورت سریال از وقفه استفاده میکنین؟

          دیدگاه


            #6
            پاسخ : مثال uart با وقفه

            نوشته اصلی توسط mohammadfa91
            یه سوال شما چرا واسه خوندن از پورت سریال از وقفه استفاده میکنین؟
            با سلام
            ایا راه حل بهتری سراغ دارین؟
            The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

            دیدگاه


              #7
              پاسخ : مثال uart با وقفه

              یسری دیتا رو میخوام با سرعت بالا بگیرم که مطمئنا بدون سریال نصفش نمیاد و حتما باید وقفه باشه

              کد:
              	UART0Buffer[UART0Count] = U0RBR;
              		
              	UART0Count++;
              		
              		if(U0RBR == '1') 
              		{k=1;}
              و

              کد:
               while (1) 
              {	
              
              // UARTSend( 0, (BYTE *)str, sizeof(str));		
               if ( k )
                	{
                
                UARTSend( 0, (BYTE *)UART0Buffer, UART0Count );
                
              			k=0;
               	}
              
               }
              هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
              بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
              میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

              تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

              دیدگاه


                #8
                پاسخ : مثال uart با وقفه

                در مورد وقفه سریال بارها قبلا ذکر شده که بیت رجیستر وقفه مربوط به دریافت را فعال می کنید و وقتی دریافتی انجام شد در زیر روال وقفه دریافت و قرار دادن در یک بافر را انجام می دهید
                می توان از DMA استفاده کرد که دیتا را از سریال در ram قرار دهید(P2M) و وقتی حجم مشخصی دیتا آمد، وقفه DMA اطلاع می دهد اطلاعات آمده تشریف بیاورید ازش استفاده بفرمایید!
                فيلم آموزشي ميکروکنترلر LPC1768
                فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
                فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
                فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...

                دیدگاه


                  #9
                  پاسخ : مثال uart با وقفه

                  نوشته اصلی توسط hessam2013
                  با سلام
                  ایا راه حل بهتری سراغ دارین؟
                  من دائم تو حلقه اصلیم بافر رو چک می کنم مثل این:
                  کد:
                  if((LPC_UART0->LSR & 0x01)){
                  		data=LPC_UART0->RBR;
                  	}
                  و تو حلقه اصلیم از تاخیر استفاده نمی کنم یه تایمر دارم که از اون استفاده میکنم.

                  دیدگاه


                    #10
                    پاسخ : مثال uart با وقفه

                    دوستان ی سوال؟
                    در پورت های مختلف ما TXD1 و RXD1 رو داریم ایا اینها همه یکی هستند یا خیر
                    و در چطور فعال می شوند؟
                    دقیقا وضعش چطوره؟
                    هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
                    بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
                    میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

                    تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

                    دیدگاه


                      #11
                      پاسخ : مثال uart با وقفه

                      نوشته اصلی توسط n340
                      دوستان ی سوال؟
                      در پورت های مختلف ما TXD1 و RXD1 رو داریم ایا اینها همه یکی هستند یا خیر
                      و در چطور فعال می شوند؟
                      دقیقا وضعش چطوره؟
                      بله یکی هستند. روی هر پین LPC سه یا چهار وظیفه میشه تعیین کرد که از طریق رجیستر PINSEL در LPC قابل تنظیم هستند.

                      دیدگاه


                        #12
                        پاسخ : مثال uart با وقفه

                        و در ادامه مثلا می شود
                        سریال هارو سویچ کرد
                        مثلا زمانی سریال 1 برروی پورت 0 وصل و سپس سریال بروی پورت 1 روشن شود یا هردو
                        و نحوه فعال سازی چطور است؟
                        اگر مالتی پلکسی باشد که احتمالا هست پس همزمان نخواهد شد
                        اما راهندازی چگونه است برروی پورت 2
                        هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
                        بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
                        میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

                        تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

                        دیدگاه


                          #13
                          پاسخ : مثال uart با وقفه

                          وظایفی که روی هر پین مشخص میشه انتخابی دست ما نیست و فقط محدود به انتخاب 3 یا 4 کار روی یک پین هستیم مثلا این عکس قسمتی از LPC1768 هست و همونطور که مشخصه روی هر پین 3 یا 4 وظیفه مشخص کرده. مثلا پین شماره 62 میتونه به 4 شکل رفتار کنه :Gpio p0.15 یا TXD1 یا SCK0 یا SCK .

                          در حین برنامه با تغییر در رجیستر PINSEL میتونید سریال رو از یه پین روی یه پین دیگه که قابلیت سریال 1 شدن داره بندازید. اما به شخصه تجربه استفاده از یک سریال در دو پین بطور همزمان رو نداشتم.

                          دیدگاه

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