This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Simple Newbie question

Ok. I'm sure this is a very elementary question, but I really don't know much yet. I've got a Silabs 8051 development kit ( www.silabs.com/.../C8051F330DK.htm ) and I'm trying to learn about serial IO. I'm trying to get the following code to work:

#include "c8051f330.h"
#include "reg51.h"
#include "stdio.h"
#include "initdevice.h"
void main (void)

{
Timer_Init();
UART_Init();
Port_IO_Init();
SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 0xf3; /* TH1: reload value for 2400 baud */
TR1 = 1; /* TR1: timer 1 run */
TI = 1; /* TI: set TI to send first char of UART */

while(1) { unsigned char aaa; aaa = _getkey(); putchar(aaa); }
}

Now, presumably all I would have to change is to include something like this as initdevice.h to set up the crossbar right?:

void Timer_Init() { TMOD = 0x20; CKCON = 0x01; TH1 = 0xB1; }

void UART_Init() { SCON0 = 0x10; }

void Port_IO_Init() { XBR0 = 0x01; XBR1 = 0x40; }

If this worked, I'd be able to hook hyperterminal up to the serial port and whatever I type will get echoed, right?
Doesn't seem to work, and I'm just hoping someone can give me a push in the right direction.
Thanks.
Sorry if this is stupid.