Forum: Mikrocontroller und Digitale Elektronik UART_Initialisierung


von christian S. (Firma: Gast) (vivien)


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...

von Umpa Lumpa (Gast)


Lesenswert?

Datenblatt?

von christian S. (Firma: Gast) (vivien)


Lesenswert?

doch habe ich  schon drauf geguckt aber wie??? soll ich nur die 
Initialisierung für das gsm Modul SIM508 schreiben oder für 
beides???...das andere Device ist ein I2C_to_UART Device............

von christian S. (Firma: Gast) (vivien)


Lesenswert?

hat jemand eine Idee?

von XXX (Gast)


Lesenswert?

Hallo

Schreibst du nur für eine oder für beide Seiten ein C-Programm?
Wenn nur für eine, für welche? Datenblatt?
Was hast du vor?

Gruß
Joachim

von Whaaaat?? (Gast)


Lesenswert?

Um welchen µC gehts überhaupt?

von northernhessian (Gast)


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.

von vivien (Gast)


Angehängte Dateien:

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

von vivien (Gast)


Lesenswert?

chr

Whaaaat?? schrieb:
> Um welchen µC gehts überhaupt?
um ein MSP430

von ... (Gast)


Lesenswert?

vivien schrieb:
> um ein MSP430

hat der keinen UART oder warum der Umweg über I²C?

von vivien (Gast)


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

von ... (Gast)


Lesenswert?

du wirst die I2C-Schnittstelle in der MCU initialisieren und einen 
"Treiber" für den SC16IS750 programmieren müssen.

von vivien (Gast)


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....?

von vivien (Gast)


Lesenswert?

hat jemand vielleicht eine Idee???

von northernhessian (Gast)


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.

von christian S. (Firma: Gast) (vivien)


Lesenswert?

northernhessian schrieb:
> 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.

Genau ich muss warscheinlich auch die UART-Schnittstelle meines 
GSM-Modul auch Initialisieren..oder?

von northernhessian (Gast)


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.

von christian S. (Firma: Gast) (vivien)


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?

von northernhessian (Gast)


Lesenswert?

Du hast also erst einmal das GSM Modul an den PC angeschlossen, hast Du 
das 'direkt' gemacht, oder über einen RS232-Wandler Baustein (MAX233 
o.ä.).
Woraus ist das Stück Code, was Du da gepostet hast?

von vivien (Gast)


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.

von northernhessian (Gast)


Lesenswert?

Schau' mal bei http://www.koders.com nach und gib in die Suchzeile 
'SC16IS750' ein. Da findest du ein Stück Code (gsm_module.c aus dem 
astfin Projekt) mit Initialisierungen des SC16IS750 und eines GSM 
Moduls.

von vivien (Gast)


Lesenswert?

Danke die Code sind schon einen guten Anfang für die Initialisierung der 
AT-Command/GSM Modul

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.