void main() { PLLEN_bit = PLL_ENABLE; // Enable PLL Delay_ms(PLL_STABLE_TIME); ANSELA=DIGITAL; // Set pins as digital ANSELB=DIGITAL; ANSELC=DIGITAL; ANSELE=DIGITAL; ANSELD=DIGITAL; TRISB=DIGITAL; //DIGITAL PIN DIRECTION DR_NRF_Direction_bit=DIRECTION_INPUT; TRX_CE_NRF_Direction_bit=DIRECTION_OUTPUT; PWR_UP_NRF_Direction_bit=DIRECTION_OUTPUT; TX_EN_NRF_Direction_bit=DIRECTION_OUTPUT; CS_NRF_Direction_bit=DIRECTION_OUTPUT; SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV16, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH); SPI_Set_Active(&SPI1_Read, &SPI1_Write); // initializes SPI1 Nrf905Init(); // initializes NRF905 LATB=CLR_LATCH; while(LOOP) { LATB=ReceivePacket(); } }
void Init_MCU() { // Place your code here GPIO_Digital_Output(&GPIO_PORTM, _GPIO_PINMASK_6); GPIO_PORTM_DATA.B6 = 1; SPI1_Init_Advanced(15000000, _SPI_MASTER, _SPI_8_BIT | _SPI_CLK_IDLE_LOW | _SPI_FIRST_CLK_EDGE_TRANSITION, &_GPIO_MODULE_SPI1_B5E45_AHB); uDMA_Init(); EPI_SDRAM_Init(); TFTIntern_SetDefaultMode(); TSC2006_SetDefaultMode(); TFTIntern_SetDisplayRotation(_TFT_INTERN_ROTATE_0); }
void main(void) { ADCON1=0x0F; //all pins are digital IO //ss pin is output TRISB&=0xFB; ss=1; SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV64, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH); //initialize SPI in 00 mode //send data for D/A conversion ss=0; SPI1_Write(0x37); SPI1_Write(0xFF); ss=1; Delay_ms(1); //write code to read data from SPI bus if needed while(1); }