VL (23.07.2015 14:54, просмотров: 1) ответил Скрипач на Вот и я о том же. Регистры UART это явно не то, что нужно абстрагировать.
Почему это нельзя проабстрагировать регистры UART ? что такого уникального они делают? десяток макросов!  // UART
#define READ_RX_TO(x) 		x=u0rb
#define UART_SEND(x)		u0tb=x
#define TRANSMIT_RUNNING	(ti_u0c1 == 0)
#define RECEIVE_RUNNING		(ri_u0c1 == 0)
#define TRANSMIT_OVER		(txept_u0c0 ==1)
#define UART_RECEIVE_VECTOR	UART0_RX
#define UART_TRANSMIT_VECTOR	UART0_TX
#define GET_UART_RX()		(u0rb)
#define ENABLE_UART_RX()	re_u0c1=1
#define DISABLE_UART_RX()	re_u0c1=0
#define DISABLE_UART_TX()	te_u0c1=0
#define ENABLE_UART_TX()	te_u0c1=1
#define UART_TX_ENABLED()	(te_u0c1==1)