ja, idle ist aus.
spi läuft mit 72,75khz, also das langsamste was möglich ist.
Das ist ein Ausschnitt aus meinem Programm, welches die beiden Wörter an den Chip sendet. Die SPI Schnittstelle ist auch auf "MSB first" usw. eingestellt wie es das Datenblatt des A3972 fordert.Code:a3972_Word0 &= 0x7FFFF; //Nur 19Bit! a3972_Word0 &= ~(1 << WordSelect); a3972_Word1 &= 0x7FFFF; //Nur 19Bit! a3972_Word1 |= (1 << WordSelect); char char1 = a3972_Word0 >> 16; char char2 = a3972_Word0 >> 8; char char3 = a3972_Word0 & 0xFF; char char4 = a3972_Word1 >> 16; char char5 = a3972_Word1 >> 8; char char6 = a3972_Word1 & 0xFF; UART_SendString("update - |"); PORTB &= ~(1 << PB2); //CS Low _delay_us(1); UART_SendChar(char1); UART_SendChar(char2); UART_SendChar(char3); //word0 SPI_SendChar(char1); //D23 - D16 SPI_SendChar(char2); //D15 - D8 SPI_SendChar(char3); //D7 - D0 PORTB |= (1 << PB2); //CS High _delay_us(1); UART_SendString("|"); PORTB &= ~(1 << PB2); //CS Low _delay_us(1); UART_SendChar(char4); UART_SendChar(char5); UART_SendChar(char6); //word1 SPI_SendChar(char4); //D23 - D16 SPI_SendChar(char5); //D15 - D8 SPI_SendChar(char6); //D7 - D0 _delay_us(1); PORTB |= (1 << PB2); //CS High UART_SendString("| - fertig\n");







 
			
			 
					
					
					
						 Zitieren
Zitieren

Lesezeichen