Hallo miteinander, ich besitze das STK500 Board (mit Atmega16). Gibt es ein Programm das die Verbindung zu einem PC über die serielle Schnittstelle herstellt? Man kann das MS-Terminalprogramm dafür verwenden, oder? Bloß, wie gehe ich vor um eine Kommunikation zu realisieren? Was stelle ich wo ein? Wie übertrage ich Daten? Ich habe bisher noch nie mit dem Terminal gearbeitet und bin deshalb ein blutiger Anfänger. Der Sinn der Sache: Ich möchte über einen NTC an einem Analogeingang die Temperatur messen. Die Ermittlung der Temperatur aus der Spannung soll über eine Tabelle vorgenommen werden. Die Temperatur soll periodisch gemessen und auf dem PC angezeigt werden. Das Messintervall soll auf dem PC einstellbar sein. Falls ihr Tipps & Tricks hierfür habt, vielen Dank! Gruß Eric
Eric Schmitz wrote: > Gibt es ein Programm das die Verbindung zu einem PC über die serielle > Schnittstelle herstellt? Schon mal die Tutorials studiert? http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_UART http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
Karl heinz Buchegger wrote: > Schon mal die Tutorials studiert? > > http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_UART > http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART Ja, und jetzt?
Eric Schmitz wrote: > Karl heinz Buchegger wrote: >> Schon mal die Tutorials studiert? >> >> http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_UART >> http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART > > Ja, und jetzt? Wenn dir das keine Anhaltspunkte gibt, wie man da loslegen könnte, dann ist Programmieren wahrscheinlich nichts für dich. Nicht traurig sein, sowas gibt es.
Karl heinz Buchegger wrote: > Wenn dir das keine Anhaltspunkte gibt, wie man da > loslegen könnte, dann ist Programmieren wahrscheinlich > nichts für dich. > Nicht traurig sein, sowas gibt es. Ja ok.
Eric Schmitz wrote: > Karl heinz Buchegger wrote: >> Schon mal die Tutorials studiert? >> >> http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_UART >> http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART > > Ja, und jetzt? Jetzt steckts du das RS232 Kabel zwischen µC und PC an, brennst dein erstes UART Programm in den µC und siehst zu, dass du die Kommunikation ins Laufen kriegst. Genauso wie es Millionen anderer Programmierer vor dir auf der ganzen weiten Welt schon gemacht haben.
Ach eines hab ich noch vergessen: Im Handbuch vom STK500 nachsehen, welche Verbindungen am Board gesteckt werden müssen, damit die RS232 Signale auch am entsprechenden Stecker rauskommen.
Hallo Eric, im Thread " Projekt Mikrocontroller" habe ich vor einigen Tagen einige Tipps gegeben, wie man mit Bascom ein solches Problem lösen kann. Aus Deiner Frage geht leider nicht hervor, welche Vorkenntnisse im Programmieren Du hast, dann wüssten wir mehr, um Tipps zu geben. Das STK500 + AVR-Studio (mitgeliefert) + Bascom ist ein hervorragendes Gespann, um Dein Projekt gut zu lösen (auch wenn es gleich wahrscheinlich wieder Beiträge gibt, die Dich von C++, Assembler ... überzeugen wollen; aber das musst DU dann selbst wissen. Und ohne einiges Lernen/ Probieren wird's nicht funktionieren. Für die einzelnen Programmierelemente in Bascom gibt es in der BAscom-Hilfe oder unterstützenden Büchern oder Internetseiten Hilfen ... Bascom hat für die Datenkommunikation ein Terminal, Du kannst aber auch Hyperterm (in Windows) oder ähnliches nehmen.
Netbird wrote: > Hallo Eric, > > im Thread " Projekt Mikrocontroller" habe ich vor einigen Tagen einige > Tipps gegeben, wie man mit Bascom ein solches Problem lösen kann. Aus > Deiner Frage geht leider nicht hervor, welche Vorkenntnisse im > Programmieren Du hast, dann wüssten wir mehr, um Tipps zu geben. > > Das STK500 + AVR-Studio (mitgeliefert) + Bascom ist ein hervorragendes > Gespann, um Dein Projekt gut zu lösen (auch wenn es gleich > wahrscheinlich wieder Beiträge gibt, die Dich von C++, Assembler ... > überzeugen wollen; aber das musst DU dann selbst wissen. Und ohne > einiges Lernen/ Probieren wird's nicht funktionieren. > > Für die einzelnen Programmierelemente in Bascom gibt es in der > BAscom-Hilfe oder unterstützenden Büchern oder Internetseiten Hilfen ... > Bascom hat für die Datenkommunikation ein Terminal, Du kannst aber auch > Hyperterm (in Windows) oder ähnliches nehmen. Im bin ein Anfänger mit etwas Vorkenntnisse. Ich habe schon Prgramme für das STK500 Board geschrieben (Lauflicht, Blinklicht etc.) für Atmega16. Nun möchte ich wissen wie ich mit Hyper Terminal von Windows mit dem STK500, Atmega16 kommuniziere. Mein Wissensstand ist so: Board mit PC verbinden, Hyper Terminal aufrufen. Die Einstellungen wie unter dem Link von "Buchegger" bekomme ich auch noch hin. Aber dann ist auch Schluss! Gibt es irgendwo eine detailierte Anleitung wie die Kommunikation genau funktioniert. Mit dem UART bin ich ein wenig überfordert. Welche Einstellungen nehme ich unter AVR Studio vor? Muss ich mit dieser Software auch parallel arbeiten?
Eric Schmitz wrote: > Im bin ein Anfänger mit etwas Vorkenntnisse. Ich habe schon Prgramme für > das STK500 Board geschrieben (Lauflicht, Blinklicht etc.) für Atmega16. > Nun möchte ich wissen wie ich mit Hyper Terminal von Windows mit dem > STK500, Atmega16 kommuniziere. > Mein Wissensstand ist so: Board mit PC verbinden, Hyper Terminal > aufrufen. OK > Die Einstellungen wie unter dem Link von "Buchegger" bekomme ich auch > noch hin. OK > Aber dann ist auch Schluss! Gibt es irgendwo eine detailierte > Anleitung wie die Kommunikation genau funktioniert. Mit dem UART bin ich > ein wenig überfordert. Welche Einstellungen nehme ich unter AVR Studio > vor? AVR Studio hat damit überhaupt nichts zu tun. Es ist dein Mega16 auf dem STK500 der Zeichen zum PC schickt. Also wirst du wohl ein Programm schreiben muessen, dass genau das macht: Den UART initialisieren und Zeichen rausschicken. Im angegebenen Link sind alle Zutaten dafür vorhanden.
Eric Schmitz wrote: > Im bin ein Anfänger mit etwas Vorkenntnisse. Ich habe schon Prgramme für > das STK500 Board geschrieben (Lauflicht, Blinklicht etc.) für Atmega16. Über welche Programmiersprache reden wir eigentlich? Und bevor noch lange nachgefragt werden muss: Mit welcher Taktfrequenz betreibst du den Mega16?
Karl heinz Buchegger wrote:
> Über welche Programmiersprache reden wir eigentlich?
Von C
Eric Schmitz wrote: > Karl heinz Buchegger wrote: >> Über welche Programmiersprache reden wir eigentlich? > > Von C Dann ist das AVR-GCC Tutorial das Tutorial deiner Wahl. Aus den dortigen Bausteinen lässt sich zb. dieses Programm zusammensetzen:
1 | #include <avr/io.h> |
2 | |
3 | /* USART-Init beim ATmega16 */
|
4 | #ifndef F_CPU
|
5 | #define F_CPU 3686400 /* Oszillator-Frequenz in Hz */ |
6 | #endif
|
7 | |
8 | // Hilfsmakro zur UBRR-Berechnung ("Formel" laut Datenblatt)
|
9 | #define UART_UBRR_CALC(BAUD_,FREQ_) ((FREQ_)/((BAUD_)*16L)-1)
|
10 | |
11 | #define UART_BAUD_RATE 9600
|
12 | |
13 | int main(void) |
14 | {
|
15 | UCSRB |= (1<<TXEN); // UART TX einschalten |
16 | UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron 8N1 |
17 | |
18 | UBRRH = (uint8_t)( UART_UBRR_CALC( UART_BAUD_RATE, F_CPU ) >> 8 ); |
19 | UBRRL = (uint8_t)UART_UBRR_CALC( UART_BAUD_RATE, F_CPU ); |
20 | |
21 | while( 1 ) { |
22 | while (!(UCSRA & (1<<UDRE))) // warten bis Senden moeglich ... |
23 | {
|
24 | }
|
25 | |
26 | UDR = 'x'; // ... ein 'x' senden |
27 | }
|
28 | }
|
Du musst noch deine tatsächlich benutzte Quarzfrequenz als F_CPU eintragen. Dann stellst du Hyperterminal auf 9600 Baud ein (wie im Tutorial) und wenn dann noch das serielle Kabel stimmt (gekreuzt / nicht gekreuzt), dann sollte Hyperterminal wie wild lauter 'x' hinmalen.
Karl heinz Buchegger wrote:
> Mit welcher Taktfrequenz betreibst du den Mega16?
Mit 1 MHz.
Danke für das Programm ich werde das demnächst ausprobieren. Ich melde
mich bei Schwierigkeiten. Vielen Dank Buchegger!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.