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
 
	}
}