اطلاعیه

Collapse
No announcement yet.

سوال در مورد RTC

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

    سوال در مورد RTC

    سلام
    من ی سوال داشتم در مورد کد نمونه برای RTC این کد رو که ران می کنم فقط یه تاریخ ثابت با ساعت 000 نشون میده. اگه بخوام تغییرات رو با زمان سیستمم یکی کنم و با گذشت زمان اون هم مثلا نشون بده که یک دقیقعه گذشته چیکار باید بکنم ؟
    ممنون می شم کمک کنید.

    #2
    پاسخ : سوال در مورد RTC

    سلام،
    از چه برد و چیپی استفاده میکنید؟

    دیدگاه


      #3
      پاسخ : سوال در مورد RTC

      با سلام
      اکه سخت افزار rtc رو درست بسته باشین، که شامل کرستال rtc و یک باتری بک اپ( این دلخواه هست) هست، rtc بعد از راه اندازی خود مار شروع به شمردن میکنه، شما نیتونید دو نوع وقفه برای rtc تعریف کنید، وقفه که هر ثانیه اتفاق میافته و وقفه هشدار که در زمان خاصی که شما تنظیم می کنید اتفاق می افته، این میشه روال کار حالا بسته به شما هست که با این امکانات چطور فکرتون رو پیاده کنید
      نکته: اگه کد رو درست نزنید، rtc بعد از هر بار ریست میکرو ست میشه و مقدار خودشو از دست میده، راهی که خودم پیشنهاد میدم این هست که یکبار rtc رو تنظیم کنید و بعد از اون چک کنید اگه rtc روشنه دیگه به مقدارش دست نزنید، شاید بپرسین چطور بهش مقدار بدم پس؟ برای دادن مقدار جدید هم میتونید مثلا از یوزارت استفاده کنید و کامندی تعریف کنید تا باهاش بشه به rtc مقدار جدید داد
      The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

      دیدگاه


        #4
        پاسخ : سوال در مورد RTC

        من یک برد خریدم برای LPC1768 که خودش ارتباط با uart2 رو به ما داده من با rs232 وصلش کردم به کامپیوترم و همین مثالی که تو سایتتون گذاشته بودین رو با تغییر اینکه uart0 بود من به uart2 تغییر دادم ولی همش همین رو تکرار می کنه:
        2010/0005/0012/000:000:000
        باید زمانش تغییر می کرد دیگه درسته؟

        دیدگاه


          #5
          پاسخ : سوال در مورد RTC

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

          دیدگاه


            #6
            پاسخ : سوال در مورد RTC

            اهان. ببخشید فک کردم مسوول این بخشین :biggrin:
            پس مشکلش چیه :cry:

            دیدگاه


              #7
              پاسخ : سوال در مورد RTC

              http://www.eca.ir/forum2/index.php?topic=92280
              به این لینک نگاه کنید، اشکال از کد هست احتمالا
              The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

              دیدگاه


                #8
                پاسخ : سوال در مورد RTC

                شاید از کریستال ساعتش باشه.

                دیدگاه


                  #9
                  پاسخ : سوال در مورد RTC

                  شاید از کدش باشه هرچند دوتا کد نمونه دارم که هر دوتاشونم یکیه. کریستال ساعتشم عوض کردم بازم استارت نمیشه :cry2:
                  بردم EWB lpc1768

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد RTC

                    تست کنید که آیا مقدار localTime رو به مقداری غیر صفر تغییر بدید، درست میشه !؟

                    راه اندازی RTC LPC1788 با CMSIS که توی همین انجمن صحبت شده بود.

                    کد:
                    [code]#include <lpc17xx.h>
                    #include "LPC17xx_pinsel.h"
                    #include "LPC17xx_rtc.h"
                    #include <stdio.h>
                    
                    
                    #define family_lpc17xx          /* TFTLCD definition */
                    #define TFTLCD_DATA_MSB_Nibble_Port_0
                    #define LCD_MSB_Nibble_OFFSET     15
                    #define TFTLCD_DATA_LSB_Nibble_Port_0
                    #define LCD_LSB_Nibble_OFFSET     4
                    #define TFTLCD_CONTROLPORT_2
                    #define TFTLCD_CS           8
                    #define TFTLCD_RS           9
                    #define TFTLCD_WR           10
                    #define TFTLCD_RD           11
                    #define TFTLCD_RST           13
                    
                    #include "lcd.h"
                    
                    
                    char M,H,S,m,d;
                    int y;
                    char lcd1[30];
                    char lcd2[30];
                    
                    int main(void){
                    	RTC_TIME_Type RTCFullTime;
                    	
                    	
                    	LCD_Init();
                    /*
                    	RTC_Init(LPC_RTC);
                    	RTCFullTime.YEAR = 2014;
                    	RTCFullTime.MONTH = 6;
                    	RTCFullTime.DOM = 6;
                    	RTCFullTime.HOUR = 20;
                    	RTCFullTime.MIN = 30;
                    	RTCFullTime.SEC = 12;
                    	RTC_SetFullTime (LPC_RTC ,&RTCFullTime);
                    */
                    	
                    	/* Enable rtc (starts increase the tick counter and second counter register) */
                    	RTC_ResetClockTickCounter(LPC_RTC);
                    	RTC_Cmd(LPC_RTC, ENABLE);
                    	RTC_CalibCounterCmd(LPC_RTC, DISABLE);
                    	
                    	
                    	POINT_COLOR = (Green);
                    	BACK_COLOR = (Black); 
                    	LCD_Clear(Black);
                    	while(1){
                    			RTC_GetFullTime (LPC_RTC, &RTCFullTime);
                    			y=RTCFullTime.YEAR;
                    			m=RTCFullTime.MONTH;
                    			d=RTCFullTime.DOM;
                    			H=RTCFullTime.HOUR;
                    			M=RTCFullTime.MIN;
                    			S=RTCFullTime.SEC;
                    			sprintf(lcd1,"%u:%u:%u   ",H,M,S);
                    			sprintf(lcd2,"%u/%u/%u   ",y,m,d);
                    			LCD_ShowString(1,1,lcd1);
                    			LCD_ShowString(1,30,lcd2);
                    		
                    	}
                    }
                    [/code]

                    دیدگاه

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