Bonjour à tous,
Je réalises actuellement un petit bout de code pour contrôler en SPI un synthétiseur de fréquence via un PIC16f.
Je dois envoyer 40bits :
- 8 bits pour le caractère 'G'.
- 32 bits pour la fréquence avec le LSB envoyé en premier (le PIC transmet le MSB en premier).
Sachant que le registre SSPBUF est constitué d'un octet, il me faut envoyer le caractère 'D', puis les 8 derniers bits...
Pouvez vous m'aider à corriger ma fonction qui doit avoir des problèmes de type de données et valider la fonctionnalité :
Merci d'avance.Code:void Creer_Freq (unsigned long Freq_MHz) { unsigned long N_Div = Freq_MHz / (1/2); unsigned char Set_Freq = 'G'; SPI1_Write(Set_Freq); unsigned long n = 0x000F; unsigned char Little_End[4]; for (int i=0;i<4;i++) { Little_End[i] = N_Div & n; SPI_Write(Little_End[i]); n = n << 8; } }
-----