UART_Initialisierung

(Firma: Gast) #2199488
Lesenswert?

Hi Zusammen,

ich bin dabei die schnistelle zwischen 2 device  über C-Programmierung 
aufzubauen.
Als erstes Device habe ich ein GSM Modul
Als zweites ein SC16IS750..
weißt vielleicht jemand wie ich beide schnittstelle initialisieren soll?
oder hat jemand schon ein klein beispiel Programm für mich dabei..

bedanke mich schon im voraus...

Grüß Vivien...
Gast #2199624
Lesenswert?

Nun mal der Reihe nach. Wie ist denn deine Schaltung aufgebaut? Gehst Du 
vom Controller zum SC16IS750 und dann zum GSM Modul, oder vom Controller 
zu beiden Schnittstellen einzeln?
Der Baustein SC16IS750 ist meines Wissens nach ein Umsetzer von I2C nach 
Uart. Da mußt du den Serialport deines Controllers
>(Um welchen µC gehts überhaupt? )
als I2C- Master initialisieren.
Hat das GSM Modul auch eine I2C Schnittstelle oder SPI oder Uart......
Hier sind zu viele Fragen offen, um dir eine Antwort zu geben. Werd' 
doch bitte mal ein bisschen konkreter.
Gast #2200879
Lesenswert?

Danke an alle für die mühe...werde jetzt Konkreter 
sein.....................
also es geht um den MSP430F2274 MCU.....
ich will von  MCU(I2C schnittstelle) <--> I2C (schnittstelle) 
SC16IS750..... umsetzer UART(schnittstelle) <--> UART(schnittstelle) GSM 
Modul SM508 daten. senden......................
Daten heißt....ich muss ein sms durch AT Befehl von MCU MSP430 bis zum 
GSM Modul SM508 senden..........
Das GSM Modul hat nur UART schnittstelle..
Ich hoffe dass ich bischen konkretter gewesen bin...
Danke im voraus
Angehängte Dateien:
Gast #2200923
Lesenswert?

Doch hat er auch aber ich kann den MCU nur über die I²C Schnittstelle 
zugreifen......der MCU ist auf eine Platine schon festgelegt und die 
PINs wo ich die MCU zugreifen kann, sind nur I²C schnittstelle......
deswegen den Umweg
Gast #2200980
Lesenswert?

ok...aber sollte man die Initialisierung der UART-Schnittstelle nur auf 
eine Seite schreiben oder auf beide Seite...also ich meine für Das GSM 
Modul(sowieso muss man UART initialisieren) auch für den SC16IS750?? 
muss man die UART Initialisieren....?
Gast #2204195
Lesenswert?

Fang erst einmal damit an, die I2C Schnittstelle deines MSP430 zu 
initialisieren. Demos dafür findest Du hier im Forum. Danach nimmst Du 
Dir das Datenblatt des SC16IS750 vor und fängst an, wie oben schon 
erwähnt, einen Treiber zu schreiben. Ich kenne jetzt den SC16IS750 nicht 
aber meistens reichen bei solchen Bausteinen eine Lese-, eine Schreib-, 
und eine Initialisierungsfunktion.  Als nächstes das Datenblatt des GSM 
Moduls zu Rate ziehen. Du suchst Dir den AT Befehl zum Senden einer SMS 
heraus und schickst sie mit dem MSP430 über die I2C Schnittstelle an 
dein GSM Modul.
Gast #2205823
Lesenswert?

Die Schnittstelle mußt Du wohl nicht initialisieren, wie wolltest Du das 
machen, über eine 'andere' Schnittstelle? Im Datenblatt stehen 
eigentlich immer Angaben, die die Schnittstelle betreffen. Bei UART sind 
das Baudrate, Anzahl der Stopbits, mit Parität oder ohne ......
Das kann man so aber nicht initialisieren! Such dir diese Angaben heraus 
und stell' deinen UART am ‚I2C zu UART‘ Baustein ein.
Das GSM Modul hat wahrscheinlich auch noch die eine oder andere 
Vorbedingung um mit der SMS Übertragung zu beginnen. Das könnte man als 
Initialisierung sehen, allerdings nicht die der Schnittstelle, sondern 
die des GSM Moduls  an sich. Wie man diese Vorbedingung(en) herstellt, 
findest Du auch in dem AT Befehlssatz.
(Firma: Gast) #2206103
Lesenswert?

nee nicht über eine andere schnittstelle...ja habe ich alle AT 
befehlsätze gefunden und  auch über mein Terminal kann ich schon mal 
sehen wie ich angeblich die UART-schnittstelle für das GSM-Modul 
einstellen..also

        public override bool Open()
        {
            serialport.NewLine = "\r\n";
            serialport.Parity = Parity.None;
            serialport.RtsEnable = false;
            serialport.DataBits = 8;
            serialport.StopBits = StopBits.One;
            serialport.DtrEnable = true;
            serialport.RtsEnable = true;
            serialport.ReadTimeout = 5000;
            serialport.BaudRate = baud;
            serialport.PortName = com;
            return base.Open();
        }
mache ich was falsch?
Gast #2207248
Lesenswert?

Genau habe ich erst einmal an den PC angeschlossen um zu sehen ob die 
AT-Command durch das hTerm Terminal funktionnieren.
da habe ich mir ein sms senden lassen und hat sogar problemlos 
funktionniert..

weil das SC16IS kein RS232 Anschluss hat, muss ich dann durch Pins RX/TX 
die Verbindung aufbauen und ich benütze keinen RS232-Wandler Baustein 
(MAX233

daraus folgt dann das Stück Code weil am hTerm folgende Parameter 
eingestellt werden müssen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren