STC8A8K64S4A12 UART?

OP #6299017
Lesenswert?

Guten Abend.

Ich habe eins dieser blauen STC8A8K64S4A12 Development Boards, wie sie 
bis vor kurzem von vielen Händlern auf ebay verfügbar waren 
(http://www.colecovision.eu/mcs51/STC8A8K64S4A12%20Development%20Board.jpeg).

Leider ist es mir bisher nicht gelungen, den UART zu nutzen.

Weder der Beispielcode aus Abschnitt 14.7.3 des Datenblatts, noch 
Beispielcode vom STC89C52RC 
(http://www.colecovision.eu/mcs51/STC89%20DEMO%20BOARD%20Serial.shtml) 
bewirken etwas: Selbst die LED, die an P3.0 und P3.1, den Pins für Rx / 
Tx, liegen zeigen keinerlei Aktivität.
Den Code hatte ich noch an die Taktrate des STC8A8K64S4A12 angepasst, 
und auch noch ausprobiert, S1_S (für die Wahl der UART-pins) explizit 
auf 0 zu initialisieren, das half aber beides auch nicht.

Anderer einfacher Code (LED blinken, 
http://www.colecovision.eu/mcs51/STC8A8K64S4A12%20Development%20Board%20LED.shtml) 
geht dagegen.
OP #6299290
Lesenswert?

Auch beim IAP15W4K58S4 ist es mir bisher nicht gelungen, den UART zum 
Laufen zu bringen.
1
#include <stdio.h>
2

3
__sfr __at(0x88) TCON;
4
__sfr __at(0x89) TMOD;
5
__sfr __at(0x8b) TL1;
6
__sfr __at(0x8d) TH1;
7

8
__sfr __at(0x98) SCON;
9
__sfr __at(0x99) SBUF;
10

11
int putchar(int c)
12
{
13
  while(!(SCON & 0x02));
14
  SCON &= ~0x02;
15
  SBUF = c;
16
  return (c);
17
}
18

19
void main(void)
20
{
21
  unsigned long int i = 0;
22

23
  // Configure UART for 9600 baud, 8 data bits, 1 stop bit.
24
  TMOD = 0x20;
25
  SCON = 0x40;
26
  TH1 = 256 - 24.0 * 1000 * 1000 / 12 / 32 / 9600 + 0.5;
27
  TCON |= 0x40;
28
  SCON |= 0x02;        // Tell putchar() the UART is ready to send.
29

30
  for(;;)
31
  {
32
    printf("Hello World!\n");
33
    for(i = 0; i < 147456; i++); // Sleep
34
  }
35
}

Auch dort klappt es aber mit Timer und I/O 
(http://www.colecovision.eu/mcs51/STC15W4K56S4%20SCM%20LED.shtml).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren