RdURXH0(),WrUTXH0(),找不到函数的原型,后来在寄存器定义里面看到了。如下:
#define rUTXH0 (*(volatile unsigned char *)0x1d00020) #define rUTXH1 (*(volatile unsigned char *)0x1d04020) #define rURXH0 (*(volatile unsigned char *)0x1d00024) #define rURXH1 (*(volatile unsigned char *)0x1d04024) #define WrUTXH0(ch) (*(volatile unsigned char *)0x1d00020)=(unsigned char)(ch) #define WrUTXH1(ch) (*(volatile unsigned char *)0x1d04020)=(unsigned char)(ch) #define RdURXH0() (*(volatile unsigned char *)0x1d00024) #define RdURXH1() (*(volatile unsigned char *)0x1d04024) #define UTXH0 (0x1d00020) //byte_access address by BDMA #define UTXH1 (0x1d04020) #define URXH0 (0x1d00024) #define URXH1 (0x1d04024)
WrUTXH0('\r'),即把'\r'写到寄存器[0x1d00020]里面,而寄存器[0x50000027]是UART0的发送寄存器,也就是换行。而rUTXH0,也是UART的发送保持寄存器,若要做WrUTXH0('\r')相同的效果,则需把相应的命令值赋给rUTXH0:即:rUTXH0=“\r”。
|