اطلاعیه

Collapse
No announcement yet.

واحد rtc lpc1768

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

    واحد rtc lpc1768

    سلام
    تو واحد rtc میکرو lpc1768 ایا رجیستری هست که هر یک ثانیه وقفه کنه ؟؟ هر چی رجیسترهاش و تنظیم میکنم ساعت ثابت هست و عکس العملی نداره.

    #2
    پاسخ : واحد rtc lpc1768

    نوشته اصلی توسط aminpower7 نمایش پست ها
    تو واحد rtc میکرو lpc1768 ایا رجیستری هست که هر یک ثانیه وقفه کنه ؟؟ هر چی رجیسترهاش و تنظیم میکنم ساعت ثابت هست و عکس العملی نداره.
    بله که هست ...
    Counter Increment Interrupt Register (CIIR - address 0x4002 400C)
    IMSEC _When 1, an increment of the Second value generates an interrupt.

    توی یوزر منوآل من میشه صفحه 569 جدول شماره 510 از بخش RTC
    جدیدترین ویرایش توسط Blue Ice; ۰۱:۲۳ ۱۳۹۶/۰۴/۰۵.
    ! Life doesn't get easier , you just get stronger

    دیدگاه


      #3
      پاسخ : واحد rtc lpc1768

      این کد از اینترنت پیدا کردم و رو میکرو ریختم فقط اعدا بصورت ثابت نشون میده و عکس العملی وجود نداره شما علتشو میدونی چیه؟؟
      کتابخانه rtc هم تعریف شده

      #include "lpc17xx.h"
      #include "lcd.h"
      #include "rtc.h"

      extern volatile uint32_t alarm_on;
      RTCTime local_time, alarm_time, current_time;


      /************************************************** ***************************
      ** Main Function main()
      ************************************************** ****************************/
      int main (void)
      {
      uint16_t year;
      uint8_t hour, min, sec, date, month;

      SystemInit(); //Clock and PLL configuration

      /* Setup/Map the controller pins for LCD operation
      RS RW EN D0 D1 D2 D3 D4 D5 D6 D7 */
      LCD_SetUp(P2_0,P2_1,P2_2,P_NC,P_NC,P_NC,P_NC,P1_10 ,P1_9,P1_8,P1_4);

      /* Specify the LCD type(2x16) for initialization*/
      LCD_Init(2,16);

      /* Initialize RTC module */
      RTCInit();
      /* Set local time */
      local_time.RTC_Sec = 0;
      local_time.RTC_Min = 49;
      local_time.RTC_Hour = 3;
      local_time.RTC_Mday = 10;
      local_time.RTC_Wday = 3;
      local_time.RTC_Yday = 12; /* current date 10/11/2015 */
      local_time.RTC_Mon = 11;
      local_time.RTC_Year = 2015;
      //RTCSetTime( local_time );
      NVIC_EnableIRQ(RTC_IRQn);

      RTCStart();

      while (1)
      { /* Loop forever */
      /* Get current time when alarm is on */
      current_time = RTCGetTime();
      /* Read Time */
      hour = current_time.RTC_Hour;
      min = current_time.RTC_Min;
      sec = current_time.RTC_Sec;

      /* Read Date */
      date = current_time.RTC_Mday;
      month = current_time.RTC_Mon;
      year = current_time.RTC_Year;

      /* Display date and time on LCD */
      LCD_GoToLine(0); /* Go to First line of 2x16 LCD */
      LCD_Printf("Time: %2d:%2d:%2d",hour,min,sec);
      LCD_GoToLine(1); /* Go to Second line of 2x16 LCD */
      LCD_Printf("Date: %2d/%2d/%4u",date,month,year);

      }

      }

      دیدگاه


        #4
        پاسخ : واحد rtc lpc1768

        نوشته اصلی توسط aminpower7 نمایش پست ها
        فقط اعدا بصورت ثابت نشون میده و عکس العملی وجود نداره
        این یعنی متغیرها و رجیسترها تغییری نمیکنن
        اول ببین کتابخونه رو درست اد کردی
        بعد باید ببینی پاور و کلاک RTC فعاله یا نه؟ برای این کار بهتره از قسمت ویزارد کنترل کنی _راحت تره_اگر هم رجیستری خب رجیستری
        ! Life doesn't get easier , you just get stronger

        دیدگاه

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