Programm geht nicht, so wie ich das will. Könnte da mal jmd drübersehen?

OP #924265
Hallo Leute,

Kann das so stimmen? Ich will ein Taktsignal über UART(TxD) senden und 
eine LED mit den 0,5kHz Takt ansteuern. Aber es funktioniert nicht?
Das soll ein reines Testprogramm für die UART Schnittstelle sein.

1
#include <avr/io.h>
2
#include <stdint.h>
3
#include <avr/interrupt.h>
4

5
#define FOSC 7372800UL
6
#define BAUD 19200
7
#define MYUBRR (FOSC/16/BAUD-1)
8

9

10

11
void init_timer1 (void)
12
{
13
  TCCR1B = (3<<WGM12)|(2<<CS10);
14
  ICR1  = 1000;
15
  TIMSK |= (1<<TICIE1);
16
}
17
 
18

19

20
ISR (Timer1_Capt_vect)
21
{
22
  PORTC ^= (1<<PC5);
23
  UDR = 0x22;
24
}
25

26

27
void init_uart ( void )
28
{
29
  UCSRB |= (1<<TXEN);
30
  UCSRC |= (1<<URSEL) | (3<<UCSZ0);
31

32
  UBRRH  = ( MYUBRR >> 8 );
33
  UBRRL  = ( MYUBRR & 0x00FF );
34
}
35

36

37

38

39
void main (void)
40
{
41
  DDRC |= (1<<DDC5);
42
  PORTC |= (1<<PC5);
43
  init_uart(); 
44
  init_timer1 ();
45
  sei();
46
  while(1);
47
  {
48
  while(!(UCSRA & (1<<UDRE)))
49

50
    UDR = 0x23;
51
  }
52
  return (0);
53
}
Gast #924305
Wenn ich dir die Programme schon vorkaue, dann kopiere es wenigstens 
richtig!

"meine" main routine sah so aus:
1
void main (void)
2
{
3
  DDRC |= (1<<DDC5);
4
  PORTC |= (1<<PC5);
5
  init_uart(); 
6
  init_timer1 ();
7
  sei();
8
  while(1);
9
}

Und wie gesagt, wenn du an PC5 nicht mindestens halbe Betriebsspannung 
misst, stimmt was mit dem Vorgang des Programmierens nicht!


Was ich grad sehe:

An Pin20 MUSS ZWINGEND 3,3V und ein 100n C angeschlossen werden.
An Pin21 jedoch NICHT! Dort gehört NUR ein 100nF Kond. nach Masse hin!
Gast #924318
>Also 22 --> Masse
JA.

>21 --> AREF ?? eigentlich nichts oder?
über einen 100nF Kond. an Masse

>20 -->3V3 und Kondensator 100n an Masse
An 3,3V und ein 100nF C dazu, wie bei Pin7/8

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.