コード例 #1
0
ファイル: PtTProto.c プロジェクト: Stunny/Seminaris2016
void WatchDogCC2500(void) {
	static int Estat = 0;
	switch (Estat) {
		case 0: if (PIN_INT_2500 == 1) ++Estat; break; 	
		case 1: if (PIN_INT_2500 == 1) ++Estat; else --Estat; break; 	
		case 2: if (PIN_INT_2500 == 1) ++Estat; else --Estat; break; 	
		case 3: if (PIN_INT_2500 == 1) ++Estat; else --Estat; break; 	
		case 4:
			// El pobre 2500 s'ha saturat per un excés de trames
			// Solució radical
			RfEnd(); RfInit(); // Quin peligro!
			Estat = 0;
			break; 
	}
}
コード例 #2
0
ファイル: main.c プロジェクト: nlhans/domotica-rf
int main(void)
{
    ADPCFG = 0xFFFF; // Ports as digital, not analog
    #warning "Building for dsPIC33FJ128GP804"

    ETH_CS = 1;
    RF_SPI_CS = 1;
    FLASH_CS1 = 1;
    FLASH_CS2 = 1;

    SysInitGpio();

    RF_POWER = 0;
    SENSOR_PWR = 0;
    CNPU2bits.CN21PUE = 1;

    // Setup UART1 to ICSP pins
    PPSUnLock;
    iPPSOutput(OUT_PIN_PPS_RP0, OUT_FN_PPS_U1TX);
    iPPSInput(IN_FN_PPS_U1RX, IN_PIN_PPS_RP1);
    PPSLock;

    ExtIntInit();
    //spiInit(1);
    UartInit(1, 115200*2);
    printf("Hello world!\r\n");

    // Disable nested ISR
    //INTCON1bits.NSTDIS = 1;

    RtosTaskInit();

    RfInit();
    DbgInit();
    
    RtosTaskRun();

    //while(1);
    return 0;
}