Forum: Mikrocontroller und Digitale Elektronik SPI Atmega32


von Christian (Gast)


Lesenswert?

Hallo Leute,
ich habe ein Programm für einen ATMEGA32 geschrieben, was über die 
serielle Schnittstelle ein Modem ansteuert. Alles funktioniert 
einwandfrei!

Jetzt möchte ich jedoch ermöglich, dass Einstellungen (Telefonnummern 
etc.) über die SPI Schnittstelle geändert werden können.
Kann mir hierzu einer Codebeispiele geben?

Der Microcontroller muss die Daten vom PC annehmen un die Nummern in 
sein EEPROM speichern.
Für ein grobes "Programmgerüst" bzw. Beispiele wäre ich sehr dankbar. 
Dem Beispiel im Datenblatt konnte ich nicht viel entnehmen. Weiß echt 
nicht wie ich das Problem angehen soll.

Vielen Dank!

von Purzel H. (hacky)


Lesenswert?

Was haengt denn ander SPI Schittstelle ? Aber nicht der PC ? Allenfalls 
waere ein AVR mit 2 seriellen Schnittstellen passender.

von narf (Gast)


Lesenswert?

Christian schrieb:
> Hallo Leute,
> ich habe ein Programm für einen ATMEGA32 geschrieben, was über die
> serielle Schnittstelle ein Modem ansteuert. Alles funktioniert
> einwandfrei

wohl eher irgendwo her kopiert oder schreiben lassen...

> Jetzt möchte ich jedoch ermöglich, dass Einstellungen (Telefonnummern
> etc.) über die SPI Schnittstelle geändert werden können.
> Kann mir hierzu einer Codebeispiele geben?

sollte kein thema sein wenn du weißt wann du welche daten zum modem 
gesendet werden..
da du es ja geschriebn hast machst du daraus einfach variablen ...
diese kommen dann eben aus dem eeprom oder eben sonstwoher

> Der Microcontroller muss die Daten vom PC annehmen un die Nummern in
> sein EEPROM speichern.
> Für ein grobes "Programmgerüst" bzw. Beispiele wäre ich sehr dankbar.
> Dem Beispiel im Datenblatt konnte ich nicht viel entnehmen. Weiß echt
> nicht wie ich das Problem angehen soll.

hierzu solltest du infos geben wie der µC am PC angeschlossen ist
bzw wie die daten ankommen ...
bzw welche daten gebraucht werden ..

von Christian (Gast)


Lesenswert?

@narf: ja da muss ich dir teilweise recht geben. Ich habe auch noch ein
LCD Display...Taster etc. angeschlossen. Da ich eher der Elektrotechnik
bin habe ich mir die Softwareroutinen teils zusammengezogen. Tortzdem
habe ich die Schnittstellen definiert und das ganze System kompiliert
und zum laufen bekommen.
Das Modem ist über die "normale" serielle Schnittstelle angeschlossen.
Bei Betätigung des Tasters läuft eine Routine ab, die eine SMS an eine
im Programmcode vorhandene Nummer sendet.

Die SPI Schnittstelle habe ich zusammen mit Ponyprog bisher zur
Programmierung benutzt.
Zukünftig soll sie aber zusätzlich dazu dienen mit Hilfe einer
Windwowsaplikation die Nummern, Texte etc. zu ändern.

Ich benötige also eine Maske mit der die Daten über die SPI
entgegengenommen werden können und auf das interne EEPROM gespeichert
werden.

danke

von Purzel H. (hacky)


Lesenswert?

SPI - woher ? Vom PC her braucht's nochmals ein UART.

von Christian (Gast)


Lesenswert?

ja das ist richtig. Ich habe mir aber einen Programmieradapter gebaut, 
mit dem ich über die Serielle-Schnittstelle über SPI halt programmieren 
kann.
Meine Frage: Ist es hiermit auch möglich dem MC neue Daten zukommmen zu 
lassen bzw. Parameter neu zu setzen?

von holger (Gast)


Lesenswert?

>Ich benötige also eine Maske mit der die Daten über die SPI
>entgegengenommen werden können und auf das interne EEPROM gespeichert
>werden.

Deine Maske ist ein ausgewachsenes Programm.

>Meine Frage: Ist es hiermit auch möglich dem MC neue Daten zukommmen zu
>lassen bzw. Parameter neu zu setzen?

Sicher, wenn man sich ein Programm dafür schreibt.
Deine nächste Frage ist dann aber: Wie mach ich das?
Das ist dein Problem. Es wird sich niemand hinsetzen
und dir Code dafür schreiben. Einfacher wäre es zum
übertragen der Parameter das Modem vom UART zu trennen
und auf den PC umzuschalten. Dann kannst du deine Daten
im einfachsten Fall mit einem simplen Terminalprogramm
übertragen.

Viele Wege führen nach Rom. Einige sind allerdings
sehr steinig.

von Purzel H. (hacky)


Lesenswert?

Ueber die SPI und einem Adapter mit dem PC zu koomunizieren ist moeglich 
aber der Wissensstand reicht nicht. Daher - Ich wuerd ein zweites UART 
vorschlagen. zB ein Mega644, Mega324, oder so.

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.