Ejemplo n.º 1
0
Archivo: main.c Proyecto: tychol/mcu
/**
 * at the beginning in main.o ?
 */
void main(void)
{
	u8 i;
	//used for printf
	UART3_Init(
					115200,
					UART3_WORDLENGTH_8D,
					UART3_STOPBITS_1,
					UART3_PARITY_NO,
					UART3_MODE_TXRX_ENABLE);

  //UART3_ClearITPendingBit(UART1_IT_RXNE);
	
	_fctcpy('F');
	
	iap_init_global();
	iap_init_UART1_lib();
	
	//"AAA"->"descriptor"->"const initialized from area"->".FLASH_CODE image"
	printf("AAAA\r\n");
	
	while (1){
		iap_checking();
	}
}
Ejemplo n.º 2
0
/**
  * @brief Example firmware main entry point.
  * @par Parameters:
  * None
  * @retval 
  * None
  */
void main(void)
{
    /*High speed internal clock prescaler: 1*/
    CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);

    /* Enable general interrupts */
    enableInterrupts();

    /* Deinitializes the UART1 and UART3 peripheral */
    UART1_DeInit();
    UART3_DeInit();
    /* UART1 and UART3 configuration -------------------------------------------------*/
    /* UART1 and UART3 configured as follow:
          - BaudRate = 9600 baud  
          - Word Length = 8 Bits
          - One Stop Bit
          - No parity
          - Receive and transmit enabled
          - UART1 Clock disabled
     */
    /* Configure the UART1 */
    UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);

    /* Configure the UART3 */
 		UART3_Init((u32)9600, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO, UART3_MODE_TXRX_ENABLE);

    /* Enable UART3 Receive and UART1 Transmit interrupt */

    UART3_ITConfig(UART3_IT_RXNE_OR, ENABLE);
    UART1_ITConfig(UART1_IT_TXE, ENABLE);

    /* Wait until end of transmission from UART1 to UART3 */
    while (GetVar_RxCounter2() < GetVar_NbrOfDataToTransfer1())
    {
    }
    /* Enable UART1 Receive and UART3 Transmit interrupt */
    UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);
    UART3_ITConfig(UART3_IT_TXE, ENABLE);
    /* Wait until end of transmission from UART3 to UART1 */
    while (GetVar_RxCounter1() < GetVar_NbrOfDataToTransfer2())
    {
    }

    /* Check the received data with the send ones */
    TransferStatus1 = Buffercmp(TxBuffer2, RxBuffer1, RxBufferSize1);
    /* TransferStatus1 = PASSED, if the data transmitted from UART3 and
       received by UART1 are the same */
    /* TransferStatus1 = FAILED, if the data transmitted from UART3 and
       received by UART1 are different */
    TransferStatus2 = Buffercmp(TxBuffer1, RxBuffer2, RxBufferSize2);
    /* TransferStatus2 = PASSED, if the data transmitted from UART1 and
       received by UART3 are the same */
    /* TransferStatus2 = FAILED, if the data transmitted from UART1 and
       received by UART3 are different */

    while (1);
}
Ejemplo n.º 3
0
/**
  * @brief  调试串口,UART3
  * @param  None
  * @retval None
  */
void DBG_Config()
{

	UART3_DeInit();

	UART3_Init((uint32_t)115200, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO,
			UART3_MODE_TX_DISABLE | UART3_MODE_RX_DISABLE);
			
	UART3_ITConfig(UART3_IT_TXE, DISABLE);
}
/*
** ===================================================================
**     Method      :  PE_low_level_init (component MK60N512LQ100)
**
**     Description :
**         Initializes beans and provides common register initialization. 
**         The method is called automatically as a part of the 
**         application initialization code.
**         This method is internal. It is used by Processor Expert only.
** ===================================================================
*/
void PE_low_level_init(void)
{
  #ifdef PEX_RTOS_INIT
    PEX_RTOS_INIT();                   /* Initialization of the selected RTOS. Macro is defined by the RTOS component. */
  #endif
      /* Initialization of the SIM module */
  /* PORTA_PCR4: ISF=0,MUX=7 */
  PORTA_PCR4 = (uint32_t)((PORTA_PCR4 & (uint32_t)~(uint32_t)(
                PORT_PCR_ISF_MASK
               )) | (uint32_t)(
                PORT_PCR_MUX(0x07)
               ));
  /* SIM_SOPT6: RSTFLTEN=0,RSTFLTSEL=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */
  SIM_SOPT6 = (SIM_SOPT6_RSTFLTEN(0x00) | SIM_SOPT6_RSTFLTSEL(0x00)); /* Set reset pin filter */
        /* Initialization of the FTFL_FlashConfig module */
  /* SIM_SCGC7: MPU=1 */
  SIM_SCGC7 |= SIM_SCGC7_MPU_MASK;
        /* Initialization of the MPU module */
  /* MPU_CESR: SPERR=0,VLD=0 */
  MPU_CESR &= (uint32_t)~(uint32_t)((MPU_CESR_SPERR(0x1F) | MPU_CESR_VLD_MASK));
      /* Initialization of the PMC module */
  /* PMC_LVDSC1: LVDACK=1,LVDIE=0,LVDRE=1,LVDV=0 */
  PMC_LVDSC1 = (uint8_t)((PMC_LVDSC1 & (uint8_t)~(uint8_t)(
                PMC_LVDSC1_LVDIE_MASK |
                PMC_LVDSC1_LVDV(0x03)
               )) | (uint8_t)(
                PMC_LVDSC1_LVDACK_MASK |
                PMC_LVDSC1_LVDRE_MASK
               ));
  /* PMC_LVDSC2: LVWACK=1,LVWIE=0,LVWV=0 */
  PMC_LVDSC2 = (uint8_t)((PMC_LVDSC2 & (uint8_t)~(uint8_t)(
                PMC_LVDSC2_LVWIE_MASK |
                PMC_LVDSC2_LVWV(0x03)
               )) | (uint8_t)(
                PMC_LVDSC2_LVWACK_MASK
               ));
  /* PMC_REGSC: TRAMPO=0,??=0,BGBE=0 */
  PMC_REGSC &= (uint8_t)~(uint8_t)(
                PMC_REGSC_TRAMPO_MASK |
                PMC_REGSC_BGBE_MASK |
                0x02U
               );
  /* MC_PMPROT: ??=0,??=0,AVLP=0,ALLS=0,??=0,AVLLS3=0,AVLLS2=0,AVLLS1=0 */
  MC_PMPROT = 0x00U;                   /* Setup Power mode protection register */
  /* Common initialization of the CPU registers */
  /* NVICIP20: PRI20=0 */
  NVICIP20 = NVIC_IP_PRI20(0x00);
  /* ### BitIO_LDD "BitIoLdd1" component auto initialization. Auto initialization feature can be disabled by component property "Auto initialization". */
  (void)BitIoLdd1_Init(NULL);
  /* ### Asynchro serial "UART3" init code ... */
  UART3_Init();
  /* Enable interrupts of the given priority level */
  Cpu_SetBASEPRI(0U);
}
Ejemplo n.º 5
0
void System_init()
{
	delay_init();	    	 //延时函数初始化
	uart_init(9600);
	dc_moter_init();
	LED_Init();
	UART3_Init(115200);
	NRF24L01_Init();    	//初始化NRF24L01  
	  
 	while(NRF24L01_Check())	//检查NRF24L01是否在位.	
	{
		delay_ms(200);
		printf("nrf error\n");
	}								   
	NRF24L01_RX_Mode();
}
Ejemplo n.º 6
0
void UART_Init(unsigned long baudrate)
{  
  /* Deinitializes the UART3 peripheral */
  UART3_DeInit();
  
  
  /* Configure the UART3 */
  UART3_Init((uint32_t)baudrate, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO,
             UART3_MODE_TXRX_ENABLE);
  
  /* Enable UART3 Receive interrupt */
  UART3_ITConfig(UART3_IT_RXNE_OR, ENABLE);
  
  /* Enable general interrupts */
  enableInterrupts();    
  
}
Ejemplo n.º 7
0
void Peripherals_Init(void)
{
#ifdef NVIC_AUTOINIT
  NVIC_Init();
#endif /* NVIC_AUTOINIT */
#ifdef SIM_AUTOINIT
  SIM_Init();
#endif /* SIM_AUTOINIT */

#ifdef MCM_AUTOINIT
  MCM_Init();
#endif /* MCM_AUTOINIT */
#ifdef PMC_AUTOINIT
  PMC_Init();
#endif /* PMC_AUTOINIT */
#ifdef PORTA_AUTOINIT
  PORTA_Init();
#endif /* PORTA_AUTOINIT */
#ifdef PORTB_AUTOINIT
  PORTB_Init();
#endif /* PORTB_AUTOINIT */
#ifdef PORTC_AUTOINIT
  PORTC_Init();
#endif /* PORTC_AUTOINIT */
#ifdef PORTD_AUTOINIT
  PORTD_Init();
#endif /* PORTD_AUTOINIT */
#ifdef PORTE_AUTOINIT
  PORTE_Init();
#endif /* PORTE_AUTOINIT */

#ifdef ADC0_AUTOINIT
  ADC0_Init();
#endif /* ADC0_AUTOINIT */
#ifdef ADC1_AUTOINIT
  ADC1_Init();
#endif /* ADC1_AUTOINIT */
#ifdef AIPS0_AUTOINIT
  AIPS0_Init();
#endif /* AIPS0_AUTOINIT */
#ifdef AIPS1_AUTOINIT
  AIPS1_Init();
#endif /* AIPS1_AUTOINIT */
#ifdef AXBS_AUTOINIT
  AXBS_Init();
#endif /* AXBS_AUTOINIT */
#ifdef CAN0_AUTOINIT
  CAN0_Init();
#endif /* CAN0_AUTOINIT */
#ifdef CMP0_AUTOINIT
  CMP0_Init();
#endif /* CMP0_AUTOINIT */
#ifdef CMP1_AUTOINIT
  CMP1_Init();
#endif /* CMP1_AUTOINIT */
#ifdef CMP2_AUTOINIT
  CMP2_Init();
#endif /* CMP2_AUTOINIT */
#ifdef CMT_AUTOINIT
  CMT_Init();
#endif /* CMT_AUTOINIT */
#ifdef CRC_AUTOINIT
  CRC_Init();
#endif /* CRC_AUTOINIT */
#ifdef DAC0_AUTOINIT
  DAC0_Init();
#endif /* DAC0_AUTOINIT */
#ifdef DMAMUX_AUTOINIT
  DMAMUX_Init();
#endif /* DMAMUX_AUTOINIT */
#ifdef DMA_AUTOINIT
  DMA_Init();
#endif /* DMA_AUTOINIT */
#ifdef ENET_AUTOINIT
  ENET_Init();
#endif /* ENET_AUTOINIT */
#ifdef EWM_AUTOINIT
  EWM_Init();
#endif /* EWM_AUTOINIT */
#ifdef FB_AUTOINIT
  FB_Init();
#endif /* FB_AUTOINIT */
#ifdef FMC_AUTOINIT
  FMC_Init();
#endif /* FMC_AUTOINIT */
#ifdef FTFE_AUTOINIT
  FTFE_Init();
#endif /* FTFE_AUTOINIT */
#ifdef FTM0_AUTOINIT
  FTM0_Init();
#endif /* FTM0_AUTOINIT */
#ifdef FTM1_AUTOINIT
  FTM1_Init();
#endif /* FTM1_AUTOINIT */
#ifdef FTM2_AUTOINIT
  FTM2_Init();
#endif /* FTM2_AUTOINIT */
#ifdef FTM3_AUTOINIT
  FTM3_Init();
#endif /* FTM3_AUTOINIT */
#ifdef I2C0_AUTOINIT
  I2C0_Init();
#endif /* I2C0_AUTOINIT */
#ifdef I2C1_AUTOINIT
  I2C1_Init();
#endif /* I2C1_AUTOINIT */
#ifdef I2C2_AUTOINIT
  I2C2_Init();
#endif /* I2C2_AUTOINIT */
#ifdef I2S0_AUTOINIT
  I2S0_Init();
#endif /* I2S0_AUTOINIT */
#ifdef LLWU_AUTOINIT
  LLWU_Init();
#endif /* LLWU_AUTOINIT */
#ifdef LPTMR0_AUTOINIT
  LPTMR0_Init();
#endif /* LPTMR0_AUTOINIT */
#ifdef MPU_AUTOINIT
  MPU_Init();
#endif /* MPU_AUTOINIT */
#ifdef PDB0_AUTOINIT
  PDB0_Init();
#endif /* PDB0_AUTOINIT */
#ifdef PIT_AUTOINIT
  PIT_Init();
#endif /* PIT_AUTOINIT */
#ifdef PTA_AUTOINIT
  PTA_Init();
#endif /* PTA_AUTOINIT */
#ifdef PTB_AUTOINIT
  PTB_Init();
#endif /* PTB_AUTOINIT */
#ifdef PTC_AUTOINIT
  PTC_Init();
#endif /* PTC_AUTOINIT */
#ifdef PTD_AUTOINIT
  PTD_Init();
#endif /* PTD_AUTOINIT */
#ifdef PTE_AUTOINIT
  PTE_Init();
#endif /* PTE_AUTOINIT */
#ifdef RCM_AUTOINIT
  RCM_Init();
#endif /* RCM_AUTOINIT */
#ifdef RNG_AUTOINIT
  RNG_Init();
#endif /* RNG_AUTOINIT */
#ifdef RTC_AUTOINIT
  RTC_Init();
#endif /* RTC_AUTOINIT */
#ifdef SDHC_AUTOINIT
  SDHC_Init();
#endif /* SDHC_AUTOINIT */
#ifdef SMC_AUTOINIT
  SMC_Init();
#endif /* SMC_AUTOINIT */
#ifdef SPI0_AUTOINIT
  SPI0_Init();
#endif /* SPI0_AUTOINIT */
#ifdef SPI1_AUTOINIT
  SPI1_Init();
#endif /* SPI1_AUTOINIT */
#ifdef SPI2_AUTOINIT
  SPI2_Init();
#endif /* SPI2_AUTOINIT */
#ifdef SystemControl_AUTOINIT
  SystemControl_Init();
#endif /* SystemControl_AUTOINIT */
#ifdef SysTick_AUTOINIT
  SysTick_Init();
#endif /* SysTick_AUTOINIT */
#ifdef UART0_AUTOINIT
  UART0_Init();
#endif /* UART0_AUTOINIT */
#ifdef UART1_AUTOINIT
  UART1_Init();
#endif /* UART1_AUTOINIT */
#ifdef UART2_AUTOINIT
  UART2_Init();
#endif /* UART2_AUTOINIT */
#ifdef UART3_AUTOINIT
  UART3_Init();
#endif /* UART3_AUTOINIT */
#ifdef UART4_AUTOINIT
  UART4_Init();
#endif /* UART4_AUTOINIT */
#ifdef UART5_AUTOINIT
  UART5_Init();
#endif /* UART5_AUTOINIT */
#ifdef USB0_AUTOINIT
  USB0_Init();
#endif /* USB0_AUTOINIT */
#ifdef USBDCD_AUTOINIT
  USBDCD_Init();
#endif /* USBDCD_AUTOINIT */
#ifdef VREF_AUTOINIT
  VREF_Init();
#endif /* VREF_AUTOINIT */
#ifdef WDOG_AUTOINIT
  WDOG_Init();
#endif /* WDOG_AUTOINIT */
}
Ejemplo n.º 8
0
int main(void)
{
    ///////////////////////////////////////////
    uint8_t Key;
    int i;
    ////////////////////////////////////////////////

    brightness = 0x40;//亮度
    contrast   = 0x70;//对比度
    saturation = 0x40;//饱和度
    memset(outbuf,0,64);


    SystemInit();
    //GPIOInit();

    //chumo改版加入
    //Touch_Initializtion();

    Init_NVIC();				//中断向量表注册函数 	
    Init_LED();					//LED初始化
    Init_KEY();					//按键初始化
    Init_IIC();					//24LC02初始化
    Init_TOUCH();				// 触摸屏配置
    //Touch_Initializtion();


    //////////

    UART3_Init(115200);
    PrintStr("=========12345========\r\n");

    //ADC_Init_Ex();
    //Tim3_ETR_Init();
    //Tim4_Init();
    //CAN1_Init(250);

    //	USB_Init();

    //	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);

    /* Configure FSMC Bank1 NOR/SRAM3 */
    //FSMC_SRAM_Init();
    DelayMs(300);
    //InitSSD1963();
    //LcdInitTest();
    LcdInit();

    LcdClear(GRAY0);
    DispButton(button2);
    DisplayButtonUp(2,  2,400,25);   	
    LcdPrintStr("版权所有(C)mmmmmmmmmmmmmmmmmmmm",4,4,BLUE,GRAY0);
    DisplayButtonUp(402,2,478,25);
    LcdPrintf(410,4,BLACK,GRAY0,"%02d:%02d:%02d",12,12,12);
    DisplayButtonDownColor(200, 410, 290, 470, RED);
    DisplayButtonDownColor(412, 410, 502, 470, GREEN);
    LcdPrintStr("删除",230,432,WHITE,RED);
    LcdPrintStr("确认",442,432,BLACK,GREEN);
    LcdFillRec(200,100,502,190,DGREEN);
    DisplayButtonUp(190,90,512,475);
    DelayMs(1000);
    LcdFillRec(190,90,512,475,RED);
    DelayMs(1000);
    LcdFillRec(190,90,512,475,GRAY0);
    DispButton(button2);
    DisplayButtonDownColor(200, 410, 290, 470, RED);
    DisplayButtonDownColor(412, 410, 502, 470, GREEN);
    LcdPrintStr("删除",230,432,WHITE,RED);
    LcdPrintStr("确认",442,432,BLACK,GREEN);
    LcdFillRec(200,100,502,190,DGREEN);
    DisplayButtonUp(190,90,512,475);
    //	Pen_Point.Key_Sta==Key_Up;


    //LcdPrint16bitBmp(gImage, 16, 16, 490, 368 );
    while(1)
    {
        //	if(Pen_Point.Key_Sta==Key_Down)
        //	{
        //		LcdPrintf( 16,16,BLUE,WHITE,"%d",ADS_Read_AD(CMD_RDX));
        //		LcdPrintf( 16,32,BLUE,WHITE,"%d",ADS_Read_AD(CMD_RDY));
        //	}
        //LcdPrintf( 16,32,BLUE,WHITE,"%d",Touch_GetPhyY());
        //LcdPrintf( 16,16,BLUE,WHITE,"%d",Touch_GetPhyX());

        //	DelayMs(200);
        //	LED1 = ~LED1;


        //LED1=~LED1;
        //DelayMs(50);
        ////////////////////////////////////////
        Key=KEY_Scan();
        if(Pen_Point.Key_Sta==Key_Down)//触摸屏被按下
        {
            Pen_Int_Set(0);				//关闭中断
            do
            {
                LcdPrintf( 16,16,BLUE,WHITE,"%d",ADS_Read_AD(CMD_RDX));
                LcdPrintf( 16,32,BLUE,WHITE,"%d",ADS_Read_AD(CMD_RDY));

                Convert_Pos();
                Pen_Point.Key_Sta=Key_Up;
                //GPIOC->ODR|=1<<5;//临时添加
                //	LcdPrintf(16,16,BLUE,BLACK,"%d\n",Pen_Point.X);
                //	LcdPrintf(16,32,BLUE,BLACK,"%d\n",Pen_Point.Y);
                if(Pen_Point.X0>216&&Pen_Point.Y0<48)LcdClear(RED);//清除
                else 
                {
                    Draw_Big_Point(Pen_Point.X0,Pen_Point.Y0);//画图	    
                    GPIOC->ODR|=1<<5;    //PC5 上拉	   
                }  

            }while(PEN==0);//如果PEN一直有效,则一直执行
            Pen_Int_Set(1);//开启中断
        }
        else DelayMs(1);
        if(Key==USER)//USER按下,则执行校准程序
        {
            LcdClear(BlackColor);//清屏
            Touch_Adjust();  //屏幕校准 
            Save_Adjdata();	 
            LcdClear(RED);
        } 
        i++;  
        if(i==1)
        {
            i=0;
            LED1=~LED1;
        }
    }
    ///////////////////////////////////

    /*
       if(_SEC_)
       {
       _SEC_ = 0;

       GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));

       LcdPrintf(300,460,BLACK,GRAY0,"%03d",i);
    //i += 10;
    SetSensors();

    for(u8 i=1; i<=16; i++)
    Printf("No.%d=%d,",i,GetSensorVoltage(i));
    PrintStr("\r\n");
    }
    UART1_SendByte(0x55);
    DelayMs(1);	
    }				  */
}