Could the SDA of SMBUS and TX1 of UART1 share the same Port Pin to P0.0 at the different time when I use the crossbar?
In the Crossbar, I know the SMBUS is Higher than UART 1 in priority .when I only use SMBUS and UART1 at the same time, can I assign SDA and SCL to P0.2 and P0.3, and TX1 and RX1 to P0.0 and P0.1?
What should I do?
Thank you.
Discussion Forums
8-bit MCUs
Answered
Answered
Could the SDA of SMBUS and TX1 of UART1 share the same Port Pin to P0.0 at the different time when I use the crossbar?
I think this is possible.
use SMBUS
P0MDOUT = 0x00; // All P0 pins open-drain output
XBR0 = 0x01; // Enable SMBus on the crossbar
XBR2 = 0x40; // Enable crossbar and weak pull-ups, disable UART1
use UART
P0MDOUT |= 0x01; // Set TX pin to push-pull
XBR0 = 0x00; // Diable SMBUS
XBR2 = 0x44; // Enable crossbar and weak pull-up, enable UART1
can I assign SDA and SCL to P0.2 and P0.3, and TX1 and RX1 to P0.0 and P0.1?
Not possible.
0
I think this is possible.
use SMBUS
P0MDOUT = 0x00; // All P0 pins open-drain output
XBR0 = 0x01; // Enable SMBus on the crossbar
XBR2 = 0x40; // Enable crossbar and weak pull-ups, disable UART1
use UART
P0MDOUT |= 0x01; // Set TX pin to push-pull
XBR0 = 0x00; // Diable SMBUS
XBR2 = 0x44; // Enable crossbar and weak pull-up, enable UART1
Thank you for reply.
can I assign SDA and SCL to P0.2 and P0.3, and TX1 and RX1 to P0.0 and P0.1?
Not possible.
So I must set both of P0.0 and P0.1 as analog input by P0MDIN such that to assign SDA and SCL to P0.2 and P0.3, and I couldn't use the crossbar to configure TX1 to P0.0 in this situation , right?
0
and I couldn't use the crossbar to configure TX1 to P0.0 in this situation , right?
no.
You should use the crossbar for all the peripheral that was available on cross bar.
Correct Answer
0
the one thing you can not change with the crossbar is the sequence of devices.
I recall, in the old Cygnal days asking and was told that they tried a :fully universal" crossbar and it took 3 times more space on the die than the processor
0
I would call it: TetrisBar.
Your enabled peripherals falls Tetris style single column,
starting with P0.0 in the order the data sheet list peripherals, eg priority.
Only option you have is to skip some gpio pins using the skip registers.
The Crossbar use
I am working on a C8051F125 8-bit MCU.
Could the SDA of SMBUS and TX1 of UART1 share the same Port Pin to P0.0 at the different time when I use the crossbar?
In the Crossbar, I know the SMBUS is Higher than UART 1 in priority .when I only use SMBUS and UART1 at the same time, can I assign SDA and SCL to P0.2 and P0.3, and TX1 and RX1 to P0.0 and P0.1?
What should I do?
Thank you.
I think this is possible.
use SMBUS
use UART
Not possible.
Thank you for reply.
So I must set both of P0.0 and P0.1 as analog input by P0MDIN such that to assign SDA and SCL to P0.2 and P0.3, and I couldn't use the crossbar to configure TX1 to P0.0 in this situation , right?
no.
You should use the crossbar for all the peripheral that was available on cross bar.
the one thing you can not change with the crossbar is the sequence of devices.
I recall, in the old Cygnal days asking and was told that they tried a :fully universal" crossbar and it took 3 times more space on the die than the processor
I would call it: TetrisBar.
Your enabled peripherals falls Tetris style single column,
starting with P0.0 in the order the data sheet list peripherals, eg priority.
Only option you have is to skip some gpio pins using the skip registers.