bonjours,
Je travail actuellement avec un rabbit 4000 et je doit contrôler un convertisseur analogique digital. Je vais donc utiliser la fonction writing du SPI
Je ne suis pas très doué en programmation car je suis encore à mes début. J'utilise un exemple fourni avec dynamic C.
Ma question est commment faire pour envoyé les bytes voulu à l'adresse du data à écrire:
SPIWrite <SPI.LIB>
SYNTAX: int SPIWrite ( void *SrcAddr, int ByteCount );
DESCRIPTION: Write a block of bytes to the SPI port
PARAMETER1: address of data to write
PARAMETER2: number of bytes to write
Je n'arrive pas à trouver dans quel registre ou autre je dois écrire mes 16 bits (car je devrais envoyer deux fois 8 bits)
mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #define SPI_SER_B #define SPI_CLK_DIVISOR 100 #use "spi.lib" void main() { char adc_writing[2] ; int SPIinit(); while(1) { BitWrPortI(PBDR, &PBDRShadow, 0, 7); // chip select low SPIWrite (&adc_writing, 2) ; BitWrPortI(PBDR, &PBDRShadow, 1, 7); // chip select hight } }
Partager