Bonjour,
Actuellement j'essaie de communiquer via la liaison SPI du micro' HC12 vers un periphérique en utilisant la liaison SPI. Cependant, je n'arrive pas à établir cette communication, pas de signal sur l'horloge
Pouvez vous me dire ce que je fais mal dans cette partie de code ?
Dans le main je réalise l'initialisation du port.Code:void openSPI(void) { SPI0_BR=0x00; SPI0_CR1=0x50; SPI0_CR2=0x00; } void putcspi0(char cx) { char temp; PORTS_DONNEES = PORTS_DONNEES & 0x7F; while(!(SPI0_SR & SPI_SPTEF)==0); SPI0_DR=cx; while(!(SPI0_SR & SPI_SPIF)==0); temp = SPI0_DR; PORTS_DONNEES = PORTS_DONNEES |0x80; } char getcspi0(void) { PORTS_DONNEES =PORTS_DONNEES & 0x7F; while(!(SPI0_SR & SPI_SPTEF)==1); SPI0_DR=0x00; while(!(SPI0_SR & SPI_SPIF)==1); PORTS_DONNEES= PORTS_DONNEES | 0x80; return SPI0_DR; }
Merci par avanceCode:PORTS_DIRECTION = 0xE0; // SS, SCLK and MOSI pins sorties PORTS_DONNEES |= 0x80;
-----