void SYSTEM_Initialize(void) { OSCILLATOR_Initialize(); PIN_MANAGER_Initialize(); EUSART_Initialize(); TMR2_Initialize(); EPWM1_Initialize(); }
void SYSTEM_Initialize(void) { PIN_MANAGER_Initialize(); OSCILLATOR_Initialize(); I2C2_Initialize(); EUSART_Initialize(); }
void SYSTEM_Initialize(void) { OSCILLATOR_Initialize(); PIN_MANAGER_Initialize(); INTERRUPT_Initialize(); TMR0_Initialize(); I2C_Initialize(); EUSART_Initialize(); }
void SYSTEM_Initialize(void) { PIN_MANAGER_Initialize(); OSCILLATOR_Initialize(); SPI1_Initialize(); FVR_Initialize(); ADCC_Initialize(); TMR1_Initialize(); EUSART_Initialize(); Network_Init(); }
void main(void) { SYSTEM_Initialize(); INTERRUPT_GlobalInterruptEnable(); INTERRUPT_PeripheralInterruptEnable(); TMR0_Initialize(); TMR0_SetInterruptHandler(tmr0_handler); EPWM1_Initialize(); EUSART_Initialize(); PROTOCOL_Initialize(DEVICE_ID, start_handler, stop_handler, set_handler); PROTOCOL_Loop(); }
void main(void) { // initialize the device SYSTEM_Initialize(); INTERRUPT_GlobalInterruptEnable(); INTERRUPT_PeripheralInterruptEnable(); EUSART_Initialize(); EPWM1_Initialize(); uint16_t dutyValue; uint16_t angle; uint8_t c; uint8_t buf[32] = {'\0'}; uint8_t cnt = 0; // read angle from EEPROM angle = (uint16_t)DATAEE_ReadByte(0); // printf("read angle from EEPROM: %d\n", angle); dutyValue = calc_duty(angle); EPWM1_LoadDutyValue(dutyValue); while (1) { __delay_ms(500); LATCbits.LATC4 ^= 1; do { c = EUSART_Read(); if (c == '\n') { buf[cnt] = '\0'; cnt = 0; if (strcmp(buf, "w") == 0) { DATAEE_WriteByte(0, (uint8_t)angle); // printf("write the last angle onto EEPROM: %d\n", angle); } else { angle = atoi(buf); dutyValue = calc_duty(angle); EPWM1_LoadDutyValue(dutyValue); } } else { buf[cnt++] = c; } } while (EUSART_DataReady); CLRWDT(); } }
static uint8_t moteApp_GoToSleep(void) { uint8_t status = 0; while (SWITCH_2_PORT == 0); // Hold for Button Release modemSleep(); oled_displayOff(true); ADCON0bits.ADON = 0; // ADC Off INTCONbits.GIE = 0; GIE = 0; PEIE = 0; // Prepare USB Detect USB_DET_ANSEL = 1; // Prepare IOC to wake us up USB_DET_EN = 1; // Enables CMP1 interrupt. SWITCH_1_IOC = 1; SWITCH_2_IOC = 1; MODEM_WAKE_IOC = 1; IOC_ENABLE = 1; // Dummy Reads to Establish IOC level status = SWITCH_1_PORT; status = SWITCH_2_PORT; status = MODEM_WAKE_PORT; if (periodicState) { //WDTCONbits.SWDTEN = 1; } IOC_FLAG = 0; USB_DET_FLAG = 0; NOP(); SLEEP(); NOP(); // Reconfigure Critical peripherals //WDTCONbits.SWDTEN = 0; EUSART_FlushBuffer(); // Disable IOC IOC_ENABLE = 0; SWITCH_1_IOC = 0; SWITCH_2_IOC = 0; MODEM_WAKE_IOC = 0; PIE2bits.C1IE = 0; GIE = 1; PIN_MANAGER_Initialize(); EUSART_Initialize(); // Process Wake Up Event if (IOC_FLAG) { // PushButton or Module IOC woke us IOC_FLAG = 0; status = 1; } // TODO: // else if (Comparator) // USB EVENT // { // status = 2; // } else { // Time woke us. Reload; so wake from sleep is short secTicker = 10; status = 0; } USB_DET_ANSEL = 0; oled_displayOff(false); oled_init(); // Dispaly modemResync(); return status; }