Hallo GerdW
Im Anhang habe ich das grobe Blockdiagramm der Schaltung angehängt (Als ADC wird der MCP3201 verwendet).
1. Der ADC:
hat eine Auflösung von 12 Bit. Das Signal wird als SPI - Protokoll ausgegeben. Gemäss Datenblatt brauch der MCP3201 die ersten zwei Clocks (somit auch Bits) für die Sampletime. In einem weiteren wird das 0Bit übertragen. Das heisst, ich muss den Wert erst mal maskieren, um an die "brauchbaren" Daten heranzukommen. Dies geschieht mit einer AND-Verknüpfung. (Z.B. in C: Port1 &= 0xF0; // Unteres Nibble wird gelöscht.)
2. Das LCD:
ist von Assembly Electronics (EA DOGM081). Auch dieses besitzt ein SPI-Interface welches ich für die Ansteuerung benutze. Ist die Hardware erst einmal am NI myRIO angeschlossen, kann das LCD einfach über das SPI VI im LabVIEW angesprochen werden. Im Anhang das Struktogramm. Der grosse Vorteil gegenüber einem Mikrocontroller ist, dass die Daten nur in das SPI-VI geschrieben werden müssen. (Konfiguration des SPI gemäss Datenblatt. ==> 8Bit per Frame). Als Testprogram habe ich einen String angehängt, und konnte jegliche Daten schön ausgeben.
3.
Meine Überlegung nun: Ich muss nun nur noch den Input des SPI durch den ADC- Wert ersetzen. Folglich sollte ich dann das gewünschte Resultat bekommen.
Um mir die meiner Meinung nach mühsamen Umrechnungen usw. zu umgehen, wandle ich den auszugebenden ADC- Wert einfach in einen String um.==> Bei Strings werden die einzelnen Zeichen ja offensichtlich richtig Übertragen. (So kann ich meiner Meinung nach die Umformung von den 12Bit Daten (gespeichert in einem U16 Array)zu den jeweils zu sendenden 8Bit per Frame gemütlich umgehen
)
Der erste Versuch schlug fehl, da ich an der Umwandlung von einem "Decimal integer String" to "String" scheiterte. Deshalb habe ich diesen Thread eröffnet. Mit der Funktion Flatten to String habe ich nun eine Lösung hinbekommen.
Vieleicht gäbe es auch eine schnellere / bessere Lösung. Da ich etwas Zeitdruck habe, ist vorerst einmal einfach wichtig, dass die Schaltung gemäss Aufgabenstellung "Einen Analogen Wert via SPI (unter Zuhilfenahme des Datenerfassungstools myRIO von NI) auf einem LCD darzustellen".