Возникла проблема при инициализации конфигурационных регистров SPI МК PIC24HJ128GP210
питаюсь писать сразу значение в регистр: SPI1CON1 = 0x043E; при чтении в регистре 0х0000
пробывал писать через структуру побитово:
IFS2bits.SPI2IF = 0; /* Clear the Interrupt Flag */
IEC2bits.SPI2IE = 0; /* Disable the Interrupt */
IPC8bits.SPI2IP = 0x06; /* Interrupt priority */
/* SPI1CON2 Register Settings */
SPI2CON1bits.DISSCK = 0; /* Internal Serial Clock is Enabled */
SPI2CON1bits.DISSDO = 0; /* 0- SDOx pin is controlled by the module */
SPI2CON1bits.MODE16 = 1; /* Communication is word-wide (16 bits) */
SPI2CON1bits.SMP = 0; /* Input Data is sampled at the middle of data output time */
SPI2CON1bits.CKE = 0; /* Serial output data changes on transition from */
SPI2CON1bits.MSTEN = 1; /* Master Mode Enabled */
SPI2STATbits.SPIEN = 1; /* Enable SPI Module */
/*set SPI frequency equal 10 MHz */
/*SPI2CON1bits.SPRE = 0b111;
SPI2CON1bits.PPRE = 0b10;*/
SPI2CON1bits.SPRE0 = 1;
SPI2CON1bits.SPRE1 = 1;
SPI2CON1bits.SPRE2 = 1;
SPI2CON1bits.PPRE0 = 0;
SPI2CON1bits.PPRE1 = 1;
IFS2bits.SPI2IF = 0; /* Clear the Interrupt Flag */
IEC2bits.SPI2IE = 1; /* Enable the Interrupt */
в итоге в регистре значения предделитей по нулях и SPI работает на минимальной частоте
помогите разобраться плиз