Example #1
0
    0x0000,  /* portc */
    0x0000,  /* portd */
    0x0000   /* porte */
};

GPIO_PIN_MAP  gpio_global_irq_map = {
    0x0000,  /* porta */
    0x0000,  /* portb */
    0x0000,  /* portc */
    0x0000,  /* portd */
    0x0000   /* porte */
};

static uint32_t volatile * const pctl_ptr_arr[] = { 
    &(PORTA_PCR(0)),
    &(PORTB_PCR(0)),
    &(PORTC_PCR(0)),
    &(PORTD_PCR(0)),
    &(PORTE_PCR(0))
};

const static uint_8 _port_int_prio[] = {
    BSP_PORTA_INT_LEVEL,
    BSP_PORTB_INT_LEVEL,
    BSP_PORTC_INT_LEVEL,
    BSP_PORTD_INT_LEVEL,
    BSP_PORTE_INT_LEVEL,
};

extern GPIO_DEV_DATA_PTR first_irq; /* first file having used IRQ */
Example #2
0
void main(void) {
	//-------------------------Básico para fazer a placa funcionar------------------------------------------------------------------------
	SIM_BASE_PTR->SCGC5 |= (SIM_SCGC5_PORTA_MASK | SIM_SCGC5_PORTB_MASK); //init clock das portas
	MCG_BASE_PTR->C4 |= 0x80;   //configura para usar clock interno em 24MHz
	PORTB_PCR(5) = (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);  //portb 5, remover o NMI
	//--------------------------------------------------------------------------------------------------------------------------------------
	//config R8 G9 B10
	PORTB_BASE_PTR->PCR[8] = (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);    //configura PortB 8 como Output
	PORTB_BASE_PTR->PCR[9] = (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);    //configura PortB 9 como Output
	PORTB_BASE_PTR->PCR[10] = (PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK);   //configura PortB 10 como Output
 
	int valorR = 0;
	int valorG = 0;
	int valorB = 0;
 
	int tempo = 0;
	int valor= 0;
	int cor=1;
	for (;;){
		LigaR();
		LigaG();
		LigaB();
 
		//liga g e b
		for (int i = 0; i < 256; i++){
			if (i > valorR){
				DesligaR();
			}
			if (i > valorG){
				DesligaG();
			}
			if (i > valorB){
				DesligaB();
			}
		}
		tempo++;
 
		if (tempo >= 10){
			//criando a rampa
			valor++;
			if (valor == 255){
				valor = 0;
				//rampa no maximo, troca a cor
				cor++;
				if (cor>0b111){
					cor = 0b1;
				}
			}
 
			//qual cor  acompanha a rampa;
			if (cor & 0b001){
				valorR = valor;
			}else{
				valorR = 0;
			}
			if (cor & 0b010){
				valorG = valor;
			}else{
				valorG = 0;
			}
			if (cor & 0b100){
				valorB = valor;
			}else{
				valorB = 0;
			}
			tempo = 0;
		}
	}
}