Hallo..
Habe vor mit einem 8051 mit Hardware-SPI-Schnittstelle ein 16Bit
Datenwort in einen AD9833 zu senden. Da ich momentan leider noch keine
fertige Hardware zur Verfügung habe wollte ich fragen ob das, was ich
mir ausgedacht habe so funktionieren kann.
Habe mir das jetzt mit dem Datenblatt so zusammengereimt.
1 | int spi_wort_high, spi_wort_low; //8Bit
|
2 | long int spi_wort; //16 Bit
|
3 |
|
4 | SPCON = 0x50; // SPEN=1, MSTR=1
|
5 | spi_wort_high= (spi_wort & 0xFF00); //maskieren mit 1111 1111...
|
6 | spi_wort_low= (spi_wort & 0x00FF); //maskieren mit ...1111 1111
|
7 |
|
8 | SCK=0; //Übertragung starten
|
9 | SPDAT=spi_wort_high;
|
10 | SPDAT=spi_wort_low;
|
11 | SCK=1; //Übertragung beenden
|
Das Problem was ich da jetzt noch sehe, ist das er mit den
Clock-Impulsen durcheinander kommt und nicht beide Datenwörter
hintereinander sendet..
Der 8051 kann leider nur 8 Bit Datenwörter senden, soweit ich weiß.
Hat da vielleicht noch jemand Verbesserungsvorschläge?
MfG Derdiek