发 帖  
原厂入驻New
[原创] 【MM32 eMiniBoard试用连载】第2个程序(rtc和温度)
2020-5-27 13:58:26  194
分享
本帖最后由 lustao 于 2020-6-1 09:03 编辑

继前文
在MM32L3xx_n_Lib_Samples_V1.39_SC\Boards_MM32L3xx_n\EVBoardL373PS_n_Lib\RTC\RTC_realtime\KEIL_PRJ路径下加载EVBoard_RTC_realtime.UVprojx文件。
无标题.jpg
原来是另一个板的带lcd程序,准备在此上改LED,加按键。
原led.c
void LED_Init(void)
{

    GPIO_InitTypeDef  GPIO_InitStructure;

    RCC_APB2PeriphclockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE);         //ʹÄÜPA,PC¶Ë¿ÚʱÖÓ

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                                 //LD2-->PA.8 ¶Ë¿ÚÅäÖÃ
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //ÍÆÍìÊä³ö
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO¿ÚËÙ¶ÈΪ50MHz
    GPIO_Init(GPIOA, &GPIO_InitStructure);                                         //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯GPIOA.8
    GPIO_SetBits(GPIOA, GPIO_Pin_8);                                                 //PA,8 Êä³ö¸ß

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;                             //LD1-->PC.13 ¶Ë¿ÚÅäÖÃ, ÍÆÍìÊä³ö
    GPIO_Init(GPIOC, &GPIO_InitStructure);                                           //ÍÆÍìÊä³ö £¬IO¿ÚËÙ¶ÈΪ50MHz
    GPIO_SetBits(GPIOC, GPIO_Pin_13);                                                  //PA.15 Êä³ö¸ß

}

void LED_Init(void)
{
   
    GPIO_InitTypeDef  GPIO_InitStructure;
   
   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);  //¿ªÆôGPIOA,GPIOBʱÖÓ
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//¿ªÆô¸´ÓÃʱÖÓ£¬Õâ¸öÒ»¶¨Òª¿ª
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//ʧÄÜJTAG£¬Ê¹ÄÜSW
   
    GPIO_InitStructure.GPIO_Pin  =  GPIO_Pin_15;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
   
    GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
   
    LED1=1;
    LED2=1;
    LED3=1;
    LED4=1;
   
}
原头led.h
#IFndef __LED_H
#define __LED_H
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//¿ª·¢°å
//LEDÇý¶¯´úÂë
//////////////////////////////////////////////////////////////////////////////////
#define LED2 PAout(8)        // PA8
#define LED1 PCout(13)        // PC13        

void LED_Init(void);//³õʼ»¯


#endif


#ifndef __LED_H
#define __LED_H         
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////         
//¿ª·¢°å
//LEDÇý¶¯´úÂë           
//////////////////////////////////////////////////////////////////////////////////
#define LED1 PAout(15)        // PA15
#define LED2 PBout(3)        // PB3
#define LED3 PBout(4)        // PB4
#define LED4 PBout(5)        // PB5

void LED_Init(void);//³õʼ»¯

        
                                                     
#endif


加按键key.c。
  1. <p>#include "key.h"
  2. #include "delay.h"
  3. //////////////////////////////////////////////////////////////////////////////////         
  4. //¿ª·¢°å
  5. //°´¼üÊäÈë Çý¶¯´úÂë                  
  6. //////////////////////////////////////////////////////////////////////////////////         

  7. //°´¼ü³õʼ»¯º¯Êý
  8. //PA15ºÍPC5 ÉèÖóÉÊäÈë
  9. void KEY_Init(void)
  10. {
  11.    
  12.     GPIO_InitTypeDef GPIO_InitStructure;
  13.    
  14.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//ʹÄÜGPIOA,GPIOB,GPIOCʱÖÓ</p><p>    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//¹Ø±Õjtag£¬Ê¹ÄÜSWD£¬¿ÉÒÔÓÃSWDģʽµ÷ÊÔ   
  15. //   
  16. //    GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_13;//PC13£¬K1
  17. //    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //ÉèÖóÉÉÏÀ&shy;ÊäÈë
  18. //    GPIO_Init(GPIOC, &GPIO_InitStructure);//³õʼ»¯GPIOC13
  19.    
  20.     GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_1;//K1
  21.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //ÉèÖóÉÏÂÀ&shy;ÊäÈë
  22.     GPIO_Init(GPIOB, &GPIO_InitStructure);//³õʼ»¯GPIOB


  23.     GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_2| GPIO_Pin_10|GPIO_Pin_11;//PB2,K2£¨WK_UP£©PB10,PB11,K3,K4
  24.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //ÉèÖóÉÉÏÀ&shy;ÊäÈë
  25.     GPIO_Init(GPIOB, &GPIO_InitStructure);//³õʼ»¯GPIOB
  26. //   
  27. //    GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_10|GPIO_Pin_11;//PB10,PB11,K3,K4
  28. ////    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //PA0ÉèÖóÉÉÏÀ&shy;ÊäÈë
  29. //  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //ÉèÖóÉÏÂÀ&shy;ÊäÈë
  30. //    GPIO_Init(GPIOB, &GPIO_InitStructure);//³õʼ»¯GPIOB.10,11
  31.    
  32. }
  33. //°´¼ü´¦Àíº¯Êý
  34. //·µ»Ø°´¼üÖµ
  35. //mode:0,²»Ö§³ÖÁ¬Ðø°´;1,Ö§³ÖÁ¬Ðø°´;
  36. //·µ»ØÖµ£º
  37. //0£¬Ã»ÓÐÈκΰ´¼ü°´ÏÂ
  38. //KEY1_PRES£¬KEY1°´ÏÂ
  39. //WKUP_PRES£¬WK_UP°´ÏÂ
  40. //KEY3_PRES£¬KEY3°´ÏÂ
  41. //KEY4_PRES£¬KEY4°´ÏÂ
  42. u8 KEY_Scan(u8 mode)
  43. {  </p><p>
  44. // print("Scan key");
  45.     static u8 key_up=1;//°´¼ü°´ËÉ¿ª±êÖ¾
  46.     if(mode)key_up=1;  //Ö§³ÖÁ¬°´   
  47.     if(key_up&&(KEY1==1||WK_UP==0||KEY3==0||KEY4==0))
  48.     {</p><p>
  49.         delay_ms(10);//È¥¶¶¶¯
  50.         key_up=0;
  51.         if(KEY1==1)return KEY1_PRES;
  52.         else if(WK_UP==0)return WKUP_PRES;
  53.         else if(KEY3==0)return KEY3_PRES;
  54.         else if(KEY4==0)return KEY4_PRES;
  55.     }else if(KEY1==0&&KEY3==1&&KEY4==1&&WK_UP==1)key_up=1;      
  56.     return 0;// ÎÞ°´¼ü°´ÏÂ
  57. }</p><p>
  58. </p><p>



  59. </p>
复制代码

加按键key.h。
  1. #ifndef __KEY_H
  2. #define __KEY_H         
  3. #include "sys.h"
  4. //////////////////////////////////////////////////////////////////////////////////         
  5. //¿ª·¢°å
  6. //°´¼üÇý¶¯´úÂë           
  7. //////////////////////////////////////////////////////////////////////////////////            


  8. #define KEY1  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1)//¶ÁÈ¡°´¼ü1
  9. #define WK_UP   GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2)//¶ÁÈ¡°´¼ü2
  10. #define KEY3  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10)//¶ÁÈ¡°´¼ü3
  11. #define KEY4  GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11)//¶ÁÈ¡°´¼ü4

  12. #define KEY1_PRES        61                //KEY1
  13. #define WKUP_PRES        62                //WK_UP  
  14. #define KEY3_PRES        63                //KEY3
  15. #define KEY4_PRES        64                //KEY4
  16. void KEY_Init(void);//IO³õʼ»¯
  17. u8 KEY_Scan(u8 mode);          //°´¼üɨÃ躯Êý                                            
  18. #endif
复制代码


原来main
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "uart.h"
  5. #include "lcdc.h"
  6. #include "rtc.h"

  7. ////////////////////////////////////////////////////////////////////////////////
  8. int main(void)
  9. {
  10.     u8 t;
  11.     char str[20];
  12.     delay_init();                     //ÑÓʱº¯Êý³õʼ»¯
  13.     uart_initwBaudRate(9600);                 //´®¿Ú³õʼ»¯Îª9600
  14.     LED_Init();                                //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú
  15.     initLCD();

  16.     putStr(110, 20, 2, 1, "MM32 Dev Board");
  17.     putStr(110, 40, 2, 1,  "RTC TEST");
  18.     putStr(110, 60, 2, 1,  "@MindMotion");
  19.     putStr(110, 80, 2, 1,  "2016/09/02");

  20.     while(RTC_Init())                //RTC³õʼ»¯        £¬Ò»¶¨Òª³õʼ»¯³É¹¦
  21.     {
  22.         putStr(110, 100, 2, 1, "RTC ERROR!   ");
  23.         delay_ms(800);
  24.         putStr(110, 100, 2, 1, "RTC Trying...");
  25.     }
  26.     putStr(110, 100, 2, 1, "    -  -     ");
  27.     putStr(110, 140, 2, 1, "  :  :  ");
  28.     while(1)
  29.     {
  30.         if(t != calendar.sec)
  31.         {
  32.             t = calendar.sec;
  33.             sprintf(str, "%d", calendar.w_year);
  34.             putStr(110, 100, 2, 1, str);

  35.             sprintf(str, "%d", calendar.w_month);
  36.             putStr(150, 100, 2, 1, str);

  37.             sprintf(str, "%d", calendar.w_date);
  38.             putStr(170, 100, 2, 1, str);
  39.             switch(calendar.week)
  40.             {
  41.                 case 0:
  42.                     putStr(110, 120, 2, 1, "Sunday   ");
  43.                     break;
  44.                 case 1:
  45.                     putStr(110, 120, 2, 1, "Monday   ");
  46.                     break;
  47.                 case 2:
  48.                     putStr(110, 120, 2, 1, "Tuesday  ");
  49.                     break;
  50.                 case 3:
  51.                     putStr(110, 120, 2, 1, "Wednesday");
  52.                     break;
  53.                 case 4:
  54.                     putStr(110, 120, 2, 1, "Thursday ");
  55.                     break;
  56.                 case 5:
  57.                     putStr(110, 120, 2, 1, "Friday   ");
  58.                     break;
  59.                 case 6:
  60.                     putStr(110, 120, 2, 1, "Saturday ");
  61.                     break;
  62.             }
  63.             sprintf(str, "%d", calendar.hour);
  64.             putStr(110, 140, 2, 1, str);

  65.             sprintf(str, "%d", calendar.min);
  66.             putStr(135, 140, 2, 1, str);

  67.             sprintf(str, "%d", calendar.sec);
  68.             putStr(160, 140, 2, 1, str);
  69.             LED1 = !LED1;
  70.         }
  71.         delay_ms(10);
  72.     }
  73.     while(1);
  74. }
复制代码

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "uart.h"
#include "tsensor.h"
#include "rtc.h"
#include "key.h"
//#include "exti.h"




void time_scr(void)
{
    char str[20];
                                                        sprintf(str,"%d",calendar.w_year);
//            putStr(110, 100,2, 1,str);
                                                printf(str,"");
                                                printf("_year");         
            sprintf(str,"%d",calendar.w_month);
//            putStr(150, 100,2, 1,str);
                                                printf(str,"");
                                                printf("_month");            
            sprintf(str,"%d",calendar.w_date);
//            putStr(170, 100,2, 1,str);
                                                printf(str,"");
                                                printf("_date");                                          
            switch(calendar.week)
            {
            case 0:
//                putStr(110, 120,2, 1,"Sunday   ");
                                                                printf("   Sunday   ");                                                  
                break;
            case 1:
//                putStr(110, 120,2, 1,"Monday   ");
                                                                printf("   Monday   ");                                                  
                break;
            case 2:
//                putStr(110, 120,2, 1,"Tuesday  ");
                                                                printf("   Tuesday   ");                                                  
                break;
            case 3:
//                putStr(110, 120,2, 1,"Wednesday");
                                                                printf("   Wednesday   ");                                                  
                break;
            case 4:
//                putStr(110, 120,2, 1,"Thursday ");
                                                                printf("   Thursday   ");                                                  
                break;
            case 5:
//                putStr(110, 120,2, 1,"Friday   ");
                                                                printf("   Friday   ");                                                  
                break;
            case 6:
//                putStr(110, 120,2, 1,"Saturday ");
                                                                printf("   Saturday   ");                                                  
                break;  
            }
            sprintf(str,"%d",calendar.hour);
                                                printf(str,"");                                                
                                                printf("_hour:");                                                  
//            putStr(110, 140,2, 1,str);
            
            sprintf(str,"%d",calendar.min);
                                                printf(str,"");                                 
                                                printf("min:");                                                  
//            putStr(135, 140,2, 1,str);
            
            sprintf(str,"%d",calendar.sec);
                                                printf(str,"");                                 
                                                printf("sec");
                                                printf("\r\n\r\n");//²åÈë»»ÐÐ
//            putStr(160, 140,2, 1,str);
                                        }










void time_i(void)
{
            char str[20];

                                    u8 t,tymdhm=0,tmo=0,td=0,th=0,tmi=0,tend=0;
        
                                                u16 ty=0;
                printf( "time set:");
                printf("\r\n\r\n");//²åÈë»»ÐÐ
                printf( "KEY1_PRES:print time\r\n\r\n");        
                printf( "KEY2_PRES:switch set year,mon,day,hour,min\r\n\r\n");
                printf( "KEY3_PRES:plus\r\n\r\n");
                printf( "KEY4_PRES:set time\r\n\r\n");

        time_scr();        
        printf( "set time:");

                switch(tymdhm)
        {                                 
        case 0://K1ĬÈϲ»Á¬PC13,ĬÈÏÁ¬½Óreset¸´Î»°´¼ü£¬ËùÒÔ°´ÏÂK1»á¸´Î»
                                        sprintf(str,"%d",calendar.w_year);
                                                printf(str,"");                                 
                    printf( "year\r\n");
                        
            break;
        case 1:
                                        sprintf(str,"%d",calendar.w_month);
                                                printf(str,"");                        
                    printf("month\r\n");
            break;
        case 2:                                
                                        sprintf(str,"%d",calendar.w_date);
                                                printf(str,"");                        
                    printf("date\r\n");
            break;
        case 3:                                
                                        sprintf(str,"%d",calendar.hour);
                                                printf(str,"");                        
                    printf( "hour\r\n");
            break;
                                
        case 4:                                
                                        sprintf(str,"%d",calendar.min);
                                                printf(str,"");                 
                    printf( "min\r\n");
            break;
        case 5:                                
                                        sprintf(str,"%d",calendar.sec);
                                                printf(str,"");                                 
                    printf( "sec\r\n");
            break;

                                
//        default:
//            delay_ms(1);        
        }         
while(1){



        


                                t=KEY_Scan(0);                //µÃµ½¼üÖµ
        switch(t)
        {                                 
        case KEY1_PRES://K1ĬÈϲ»Á¬PC13,ĬÈÏÁ¬½Óreset¸´Î»°´¼ü£¬ËùÒÔ°´ÏÂK1»á¸´Î»
                                        tymdhm=0,ty=0,tmo=0,td=0,th=0,tmi=0;        
            time_scr();        
            break;
        case WKUP_PRES:
            LED2=!LED2;
                                                tymdhm+=1;
                                                if (tymdhm==5 )tymdhm=0;
                                                                                                        printf( "set time:");

                                                                                                        switch(tymdhm)
                                                                                                {                                 
                                                                                                case 0://K1ĬÈϲ»Á¬PC13,ĬÈÏÁ¬½Óreset¸´Î»°´¼ü£¬ËùÒÔ°´ÏÂK1»á¸´Î»
                                                                                                        sprintf(str,"%d",calendar.w_year);
                                                                                                                printf(str,"");                                 
                                                                                                                        printf( "year\r\n");
                                                                                       
                                                                                                                break;
                                                                                                case 1:
                                                                                                        sprintf(str,"%d",calendar.w_month);
                                                                                                                printf(str,"");                        
                                                                                                                        printf("month\r\n");
                                                                                                                break;
                                                                                                case 2:                                
                                                                                                        sprintf(str,"%d",calendar.w_date);
                                                                                                                printf(str,"");                        
                                                                                                                        printf("date\r\n");
                                                                                                                break;
                                                                                                case 3:                                
                                                                                                        sprintf(str,"%d",calendar.hour);
                                                                                                                printf(str,"");                        
                                                                                                                        printf( "hour\r\n");
                                                                                                                break;
                                                                                                
                                                                                                case 4:                                
                                                                                                        sprintf(str,"%d",calendar.min);
                                                                                                                printf(str,"");                 
                                                                                                                        printf( "min\r\n");
                                                                                                                break;
                                                                                                case 5:                                
                                                                                                        sprintf(str,"%d",calendar.sec);
                                                                                                                printf(str,"");                                 
                                                                                                                        printf( "sec\r\n");
                                                                                                                break;

                                                                                                
                                                                //        default:
                                                                //            delay_ms(1);        
                                                                                                }         
            break;
        case KEY3_PRES:
            LED3=!LED3;


                                                                                                switch(tymdhm)
                                                                                        {                                 
                                                                                        case 0://K1ĬÈϲ»Á¬PC13,ĬÈÏÁ¬½Óreset¸´Î»°´¼ü£¬ËùÒÔ°´ÏÂK1»á¸´Î»
                                                                                                ty+=1;
                                                                                                sprintf(str,"%d",calendar.w_year+ty);
                                                                                                                printf( str,"year");
                                                                                printf("year");
                                                                                                        break;
                                                                                        case 1:
                                                                                                tmo+=1;
                                                                                                sprintf(str,"%d",calendar.w_month+tmo);
                                                                                                                printf( str,"month");
                                                                                        printf( "month");
                                                                                                        break;
                                                                                        case 2:
                                                                                                td+=1;
                                                                                                sprintf(str,"%d",calendar.w_date+td);
                                                                                                                printf( str,"date");
                                                                                        printf( "date");
                                                                                                        break;
                                                                                        case 3:
                                                                                                th+=1;
                                                                                                sprintf(str,"%d",calendar.hour+th);
                                                                                                                printf( str,"hour");
                                                                                        printf( "hour");
                                                                                                        break;
                                                                                       
                                                                                        case 4:
                                                                                                tmi+=1;
                                                                                                sprintf(str,"%d",calendar.min+tmi);
                                                                                                                printf( str,"min");
                                                                                        printf( ":min:");
                                                                                                        break;
                                                                                        case 5:                                
                                                                                                sprintf(str,"%d",calendar.sec);
                                                                                                                printf( str,"sec");
                                                                                                        break;

                                                                                       
                                                        //        default:
                                                        //            delay_ms(1);        
                                                                                        }
                                
            break;
        case KEY4_PRES:
                                        ty+=calendar.w_year;
                                        tmo+=calendar.w_month;
                                        while((tmo-12)>0)tmo-=12;
                                        td+=calendar.w_date;

                                                                        switch(tmo)
                                                                {                                 
                                                                                case 1:case 3:case 5:case 7:case 8:case 10:case 12://K1ĬÈϲ»Á¬PC13,ĬÈÏÁ¬½Óreset¸´Î»°´¼ü£¬ËùÒÔ°´ÏÂK1»á¸´Î»
                                                                        while((td-31)>0)td-=31;
                                                                                break;
                                                                                case 4:case 6:case 9:case 11:
                                                                        while((td-30)>0)td-=30;
                                                                                break;
                                                                case 2:                                
                                                                        while((td-28)>0)td-=28;
                                                                                break;


                                                               
                                //        default:
                                //            delay_ms(1);        
                                                                }


                                        th+=calendar.hour;
                                        while((th-24)>0)th-=24;                        
                                        tmi+=calendar.min;
                                        while((tmi-60)>0)tmi-=60;        
                                        RTC_Set(ty,tmo,td,th,tmi,0);
                                                                tend=1;
//            return 0;
            break;
//        default:
//            delay_ms(1);        
        }
          if(tend==1)break;
                        }
   

}




//¿ª·¢°å·¶Àý´úÂë3
//´®¿ÚʵÑé   
void KEY2_main(void)
{        
   
    u16 average=0;
    float temperate;
    u8 i;
    unsigned int uiADData=0;
//    unsigned char tem[20];


//    initLCD();
//   
//    printf( "MM32  Board");
//                printf("\r\n\r\n");//²åÈë»»ÐР       
    printf( "Temperature TEST");
                printf("\r\n\r\n");//²åÈë»»ÐР              
    printf( "@MindMotion");
                printf("\r\n\r\n");//²åÈë»»ÐР              

    printf( "TEMP_VAL:");
    printf( "C");
                printf("\r\n\r\n");//²åÈë»»ÐР                       

        for(i=0;i<10;i++)
        {
            T_Get_Adc_Average(ADC_Channel_8,&uiADData);
            average+=uiADData;
            if(i==9)
                average=average/10;
        }
        temperate=(float)average*(3.3/4096);                //µçѹֵ
        temperate=(temperate-1.5)/0.00478+25;        //ת»»ÎªÎ¶ÈÖµ         
                                printf( "TEMP_VAL:");
        printf("%.2f",temperate);
                                printf("\r\n\r\n");//²åÈë»»ÐÐ
//        putStr(185, 120,2,1,tem);
//        delay_ms(1250);
//        average=0;
        
   
   
}



////////////////////////////////////////////////////////////////////////////////
int main(void)
{
    u8 t,t1;        

    delay_init();                     //ÑÓʱº¯Êý³õʼ»¯         
    uart_initwBaudRate(9600);                 //´®¿Ú³õʼ»¯Îª9600
    LED_Init();                                //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú
    KEY_Init();                  //³õʼ»¯Óë°´¼üÁ¬½ÓµÄÓ²¼þ½Ó¿Ú        
            T_Adc_Init();                                  //ADC³õʼ»¯            
//    initLCD();
//   
//    putStr(110, 20,2, 1, "MM32 Dev Board");
//    putStr(110, 40,2, 1,  "RTC TEST");
//    putStr(110, 60,2, 1,  "@MindMotion");
//    putStr(110, 80,2, 1,  "2016/09/02");
    printf( "MM32  Board");
                printf("\r\n");//²åÈë»»ÐР       
    while(RTC_Init())                //RTC³õʼ»¯        £¬Ò»¶¨Òª³õʼ»¯³É¹¦
    {
//        putStr(110, 100,2, 1,"RTC ERROR!   ");
        delay_ms(800);
                                        printf("RTC Trying...");
                        
//        putStr(110, 100,2, 1,"RTC Trying...");
    }
//                    EXTIX_Init();
                                printf("\r\n");//²åÈë»»ÐР       
//    putStr(110, 100,2, 1,"    -  -     ");
//    putStr(110, 140,2, 1,"  :  :  ");
    while(1)
    {               
                          t=KEY_Scan(0);                //µÃµ½¼üÖµ
//                        if (t==0){}else{printf("%d",t);}//²åÈë»»ÐР       }
//                        printf("          KEY down \r\n\r\n");
        switch(t)
        {                                 
        case KEY1_PRES://K1ĬÈϲ»Á¬PC13,ĬÈÏÁ¬½Óreset¸´Î»°´¼ü£¬ËùÒÔ°´ÏÂK1»á¸´Î»
                                                printf("KEY1_PRES down \r\n");
                                                printf("KEY1_PRES ");
            time_i();
            break;
        case WKUP_PRES:
                                                printf("KEY2_PRES down \r\n");
                                                KEY2_main();
            LED2=!LED2;
            break;
        case KEY3_PRES:        
                                                printf("KEY3_PRES down \r\n");                                       
            LED3=!LED3;
            break;
        case KEY4_PRES:        
                                                printf("KEY4_PRES down \r\n");                                       
            LED4=!LED4;
            break;
//        default:
//            delay_ms(1);        
        }
                                
                                
                                
        if(t1!=calendar.sec)
        {
            t1=calendar.sec;
                                                time_scr();

            LED1=!LED1;
        }        
//        delay_ms(1);                                                                  
    }         
//    while(1);        
}


运行sscom32,图:(起动后,)
无标题.jpg


无标题2.jpg


key2显示内部温度

key1进入设置
无标题1.jpg


key4设置完成




0
无标.jpg
2020-5-27 13:58:26   评论 分享淘帖

只有小组成员才能发言,加入小组>>

1472个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表