Hello!
I have problem with configuration of UART_1 on at89c51re2 micro controller I supposed that is because I am using a at89c51xd2.h header file which does not include definition for UART_1. When I try to define Sbit (ES1 , 0xB1, 3); in IEN1 (0xB1) register i receive error message error C142: 'SFR': invalid base address.
Any help?
Thanks in advance
If I remember correctly only registers whose address is divisible by 8 are bit addressable, so you will have to read and wtite that register as an 8 bit entity.
And a quick look at the datasheet reveals that IEN1 is not bit addressable.
How to write data in register when it is bit addressable but xxxx00x0?
You can write to it as a byte, or use logical bitwise operations.
Does anybody know hot to configure 2nd UART on AT89C51RE2? I tried in simulator but it does not work..
Thanks
I long ago abandoned using the simulator, so this is a "DO CHECK", not a "this is so"
a second UART a rarity in a '51 so, maybe it is not included in the simulator. Some derivative unique things are not simulated
If UART2 is identical to UART1 then use the same code just change SFR names and interrupt vector address.
Erik
The Keil overview page for this chip seems to indicate lack of support for any second serial port: http://www.keil.com/dd/chip/3599.htm
page for this chip
That's actually the page for another chip you're looking at... ED2 is not RE2
Now, I'm terribly confused. Search still showed correct link marked. I must have missclicked there - my linked page showed up directly above the correct link. http://www.keil.com/dd/chip/3986.htm
And then both UART are listed as supported.
In datasheet for AT89C51RE2 I found that UART_1 is OCD (On Chip Debug): Does that mean that it can not be used as UART_0?