اطلاعیه

Collapse
No announcement yet.

RTC در میکرو LPC1768

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

    RTC در میکرو LPC1768

    من rtc راه اندازی کردم خیلی خوب کار میکنه ولی وقتی تغذیه اصلی برد قطع میکنم دوباره وصل میکنم اون مقادیری که تو تنظیمات اولیه rtc وارد کردم نمایش میده . من یه باطری 3ولت کم مستقیم به پایه vbat میکرو وصل کردم تا روی پایه میکرو هم ولتاژ گرفتم 3 ولت داره . ایا رجیستری چیزی هست که باید فعال بشه برا این قسمت؟


    #2
    پاسخ : RTC در میکرو LPC1768

    لطفا برنامتون رو بزارید

    دیدگاه


      #3
      پاسخ : RTC در میکرو LPC1768

      نوشته اصلی توسط kevinetm
      من rtc راه اندازی کردم خیلی خوب کار میکنه ولی وقتی تغذیه اصلی برد قطع میکنم دوباره وصل میکنم اون مقادیری که تو تنظیمات اولیه rtc وارد کردم نمایش میده . من یه باطری 3ولت کم مستقیم به پایه vbat میکرو وصل کردم تا روی پایه میکرو هم ولتاژ گرفتم 3 ولت داره . ایا رجیستری چیزی هست که باید فعال بشه برا این قسمت؟
      سلام. شما دستوراتی رو که برای تنظیم RTC اول برنامه نوشتید پاک کرده اید؟
      There is nothing so practical as a good theory. — Kurt Lewin, 1951

      دیدگاه


        #4
        پاسخ : RTC در میکرو LPC1768

        #include "LPC17xx.h" // Device header
        #include "PIN_LPC17xx.h" // Keil:evice:PIN
        #include "GPIO_LPC17xx.h" // Keil:evice:GPIO

        #include <stdio.h>
        #include "lpc17xx_adc.h"
        #include "lpc17xx_pwm.h"

        #include "lpc17xx_rtc.h"
        #include "lpc17xx_systick.h"


        #define GLCD_LPC17xx /* GLCD definition */
        #define GLCD_DATAPORT_2
        #define GLCD_CONTROLPORT_0
        #define GLCD_RS 4
        #define GLCD_RW 5
        #define GLCD_EN 6
        #define GLCD_CS1 7
        #define GLCD_CS2 8
        #define GLCD_CS3 9
        #define GLCD_D0 0

        #include "ks0108.h"
        uint32_t w,r;
        int a,t,h,m,s;
        float c,b;
        char str[30];
        char str1[30];
        char str2[30];

        uint32_t Dh=12,Dm=1,Ds=1;
        PWM_TIMERCFG_Type PWMCfgDat;
        PWM_MATCHCFG_Type PWMMatchCfgDat;


        void Delay (uint32_t Time)
        {
        uint32_t i;

        i = 0;
        while (Time--) {
        for (i = 0; i < 5000; i++);
        }
        }


        int main()
        {
        //--------------------------------------

        RTC_Init(LPC_RTC);
        RTC_SetTime (LPC_RTC, RTC_TIMETYPE_SECOND, 1);
        RTC_SetTime (LPC_RTC, RTC_TIMETYPE_MINUTE, 1);
        RTC_SetTime (LPC_RTC, RTC_TIMETYPE_HOUR, 13);
        RTC_Cmd(LPC_RTC, ENABLE);
        RTC_CalibCounterCmd(LPC_RTC, DISABLE);



        //--------------------------------------------------

        GLCD_Initialize();
        PIN_Configure(3,26,3,0,0);//PWM


        //--------------------------------------------------------
        PWMCfgDat.PrescaleOption = PWM_TIMER_PRESCALE_TICKVAL;
        PWMCfgDat.PrescaleValue = 1;
        PWM_Init(LPC_PWM1, PWM_MODE_TIMER, &PWMCfgDat);
        //--------------------------------------
        PWMMatchCfgDat.IntOnMatch = DISABLE;
        PWMMatchCfgDat.MatchChannel = 0;
        PWMMatchCfgDat.ResetOnMatch = ENABLE;
        PWMMatchCfgDat.StopOnMatch = DISABLE;
        PWM_ConfigMatch(LPC_PWM1, &PWMMatchCfgDat);
        PWM_MatchUpdate(LPC_PWM1, 0, 256, PWM_MATCH_UPDATE_NOW);
        //--------------------------------------------------
        PWMMatchCfgDat.IntOnMatch = DISABLE;
        PWMMatchCfgDat.MatchChannel = 3;
        PWMMatchCfgDat.ResetOnMatch = DISABLE;
        PWMMatchCfgDat.StopOnMatch = DISABLE;
        PWM_ConfigMatch(LPC_PWM1, &PWMMatchCfgDat);
        PWM_MatchUpdate(LPC_PWM1, 3,150, PWM_MATCH_UPDATE_NOW);
        //-----------------------------------------

        PWM_ChannelCmd(LPC_PWM1,3,ENABLE);

        PWM_ResetCounter(LPC_PWM1);
        PWM_CounterCmd(LPC_PWM1, ENABLE);
        PWM_Cmd(LPC_PWM1, ENABLE);
        //--------------------------------------------------------------


        while(1)
        {




        sprintf(str,"Time = %d:%d:%d",h, m,s);


        GLCD_ClearScreen();
        GLCD_GoTo(0,0);
        GLCD_WriteString(str);

        Delay(3800);


        }
        }

        دیدگاه


          #5
          پاسخ : RTC در میکرو LPC1768

          اینارو پاک کن مهندس


          RTC_SetTime (LPC_RTC, RTC_TIMETYPE_SECOND, 1);
          RTC_SetTime (LPC_RTC, RTC_TIMETYPE_MINUTE, 1);
          RTC_SetTime (LPC_RTC, RTC_TIMETYPE_HOUR, 13);

          دیدگاه

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