Ist es möglich, dass ein PIC (ich denke an die Verwendung von 16F628 / 16F628A) mit einem anderen Gerät kommunizieren kann, in diesem Fall einer Digitalwaage oder einem industriellen Digitalmultimeter, das die Kommunikation über USART / serielle Schnittstelle verwendet?
Ich weiß, dass es möglich ist, Digiscales an den PC anzuschließen und Daten über serielle Schnittstellen zu lesen (ich habe das schon einmal gemacht, also weiß ich, dass ich es könnte). Ich habe mich nur gefragt, ob jemals jemand versucht hat, PICs oder Mikrocontroller anstelle von PCs zu verwenden. Die Änderung ist erforderlich, da dort, wo ich dieses Ding implementieren werde, die PC-Option nicht verwendet werden kann (sie ist nicht vorhanden) und die Verwendung von PIC viel viel billiger ist.
Ich habe Codes für einen 16f84 erhalten, der mit mir mit einem PC kommuniziert (habe ihn von electronic-diy.com bekommen, jetzt irgendwie blockiert), werde versuchen, ihn zuerst in 16f628A-kompatibel zu konvertieren. Wer Ideen hat, teilt sie.
Der PIC hat einen Industriestandard-UART, und alles, was der PC tun kann, kann der PIC in Bezug auf die Kommunikation tun.
Der einzige Unterschied zwischen den beiden besteht darin, dass der PC höchstwahrscheinlich einen RS-232-Leitungstreiber in der Schaltung hat, um die richtigen +/-12 V oder so bereitzustellen. Der PIC hat dies nicht, aber das Hinzufügen von etwas wie einem MAX232-Chip konvertiert die Ausgabe in Standard-RS-232-Pegel.
Alles, was Sie wissen müssen, sind die richtigen Protokolle für die Kommunikation mit dem entfernten Gerät und deren Implementierung in der PIC-Firmware. Beachten Sie, dass der PIC standardmäßig kein Hardware-Handshaking und einen sehr kleinen (2 Zeichen) Empfangspuffer hat, daher schreibe ich normalerweise meine eigenen Sende-/Empfangsroutinen, die Hardware-Handshaking mit ein paar anderen E/A-Leitungen implementieren gehen auch durch den MAX232-Chip (CTS/RTS).
Das Ermitteln der richtigen Baudrateneinstellung auf dem PIC kann ein wenig schwierig sein, je nachdem, in welcher spezifischen Sprache Sie programmieren - einige Berechnungen sind oft erforderlich, um den Divisor aus der Systemtaktgeschwindigkeit zu erhalten. Das Datenblatt ist dafür unerlässlich – lesen Sie es gründlich durch.
stevenvh
Sodrohu
Olin Lathrop
Sodrohu