Immer noch Probleme beim Empfangen

OP #2647300
Hallo an alle,

wir haben mal wieder ein Problem mit unserem ATmega 328P und der 
Programmierung!

Im Anhang ist der betreffende Quelltext, sollte mehr benötigt werden, 
könnt ihr euch melden...

Zum Aufbau: Es gibt ein Bussystem (RS 485), das über einen MAX 485 an 
den µC angeschlossen ist und über Konverter an den PC... jetzt zum 
Problem: senden kann der µC mit dem SNAP Protokoll, aber er kann nichts 
empfangen, ich habe es über LED toggeln im Recive Interrupt probiert zum 
sehen, aber da tut sich im Moment gar nix, kann mir von euch einer 
weiterhelfen?

Gruß
Arne
Angehängte Dateien:
Gast
1
#define UART_PIN      PIND
2
#define UART_RX        PIND2

Ist das so richtig?
1
SIGNAL(USART_RX_vect)
2
{
3
  //PORTC ^= (1<<PC0);
4
  unsigned char ch;
5
  ch = UDR0;  
6
  SnapReceiveChar(ch);
7
}

Kürzen!
Ob in der ISR nur Zeilen stehen, von denen eine ein Funktionsaufruf ist, 
oder der gesamte Code der aufgerufenen Funktion da drin steht, macht den 
Kohl nicht fett.
1
#define UART_DDR      DDRD
2
#define UART_PORT      PORTD
3
#define UART_PIN      PIND
4
#define UART_RX        PIND2
5
...
6
  cbi(UART_DDR, UART_PIN);              // Set direction to input
7
  sbi(UART_PORT, UART_PIN);              // enable pull-up resistors
Das ist natürlich Unsinn, verhindert aber nicht den Empfang, da der Pin 
"von alleine" zum Eingang wird.

Sicher, dass du beim RS485-Umschalten alles richtig machst?
OP
@STK: arg viel kürzen wird man in der Funktion vermutlich nicht können 
denk ich, ausser mir sagt jemand wo ;) und ja die defines sind richtig, 
es geht da nur um das "hören" auf der leitung vor dem senden ( CSMA/CA 
verfahren)

@Stefan: zum empfang testen haben wir beide eingänge auf gnd gezogen, 
direkt ohne µC, weil es ist uns im prinzip erstmal der empfang wichtig, 
das senden ist zweitrangig...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.