5 PORT E 控制寄存器
PCONE 0x01D20028 R/W port E的配置初始值0x00
PDATE 0x01D2002C R/W port E的数据寄存器初始值Undef.
PUPE 0x01D20030 R/W port E的上拉电阻配置寄存器初始值0x00
位名称BIT 描述
PE8 [17:16] 00 = Reserved(ENDIAN) 01 = Output
10 = CODECLK 11 = Reserved
PE7 [15:14] 00 = Input 01 = Output
10 = TOUT4 11 = VD7
PE6 [13:12] 00 = Input 01 = Output
10 = TOUT3 11 = VD6
PE5 [11:10] 00 = Input 01 = Output
10 = TOUT2 11 = TCLK in
PE4 [9:8] 00 = Input 01 = Output
10 = TOUT1 11 = TCLK in
PE3 [7:6] 00 = Input 01 = Output
10 = TOUT0 11 = Reserved
PE2 [5:4] 00 = Input 01 = Output
10 = RxD0 11 = Reserved
PE1 [3:2] 00 = Input 01 = Output
10 = TxD0 11 = Reserved
PE0 [1:0] 00 = Input 01 = Output
10= Fpllo out 11 = Fout out
数据寄存器位描述
PE[8:0] [8:0] 当端口配置为输出口时,对应脚的状态和该位的值相同
当端口配置作为功能脚时,如果读该位的值,将是一个不确定的值
上拉电阻配置寄存器位描述
PE[7:0] [7:0] 0: 允许上拉电阻连接到对应脚
1: 不允许.
PE8没有可编程的上拉电阻
6 PORT F 控制寄存器
PCONF 0x01D20034 R/W port F的配置初始值0x0000
PDATF 0x01D20038 R/W port F的数据寄存器初始值Undef.
PUPF 0x01D2003C R/W port F的上拉电阻配置寄存器初始值0x000
位名称BIT 描述
PF8 [21:19] 000 = Input 001 = Output 010 = nCTS1
011 = SIOCLK 100 = IISCLK Others = Reserved
PF7 [18:16] 000 = Input 001 = Output 010 = RxD1
011 = SIORxD 100 = IISDI Others = Reserved
PF6 [15:13] 000 = Input 001 = Output 010 = TxD1
011 = SIORDY 100 = IISDO Others = Reserved
PF5 [12:10] 000 = Input 001 = Output 010 = nRTS1
011 = SIOTxD 100 = IISLRCK Others = Reserved
PF4 [9:8] 00 = Input 01 = Output
10 = nXBREQ 11 = nXDREQ0
PF3 [7:6] 00 = Input 01 = Output
10 = nXBACK 11 = nXDACK0
PF2 [5:4] 00 = Input 01 = Output
10 = nWAIT 11 = Reserved
PF1 [3:2] 00 = Input 01 = Output
10 = IICSDA 11 = Reserved
PF0 [1:0] 00 = Input 01 = Output
10= IICSCL 11 =Reserved
数据寄存器位描述
PF[8:0] [8:0] 当端口配置为输入口时,该位的值是对应脚的状态
当端口配置为输出口时,对应脚的状态和该位的值相同
当端口配置作为功能脚时,如果读该位的值,将是一个不确定的值
上拉电阻配置寄存器位描述
PF[8:0] [8:0] 0: 允许上拉电阻连接到对应脚
1: 不允许.
7 PORT G 控制寄存器
PCONG 0x01D20040 R/W port G的配置初始值0x0
PDATG 0x01D20044 R/W port G的数据寄存器初始值Undef.
PUPG 0x01D20048 R/W port G的上拉电阻配置寄存器初始值0x0
位名称BIT 描述
PG7 [15:14] 00 = Input 01 = Output
10 =IISLRCK 11 = EINT7
PG6 [13:12] 00 = Input 01 = Output
10 = IISDO 11 = EINT6
PG5 [11:10] 00 = Input 01 = Output
10 = IISDI 11 = EINT5
PG4 [9:8] 00 = Input 01 = Output
10 = IISCLK 11 = EINT4
PG3 [7:6] 00 = Input 01 = Output
10 = nRTS0 11 = EINT3
PG2 [5:4] 00 = Input 01 = Output
10 = nCTS0 11 = EINT2
PG1 [3:2] 00 = Input 01 = Output
10 = VD5 11 = EINT1
PG0 [1:0] 00 = Input 01 = Output
10 = VD4 11 = EINT0
数据寄存器位描述
PG[7:0] [7:0] 当端口配置为输入口时,该位的值是对应脚的状态
当端口配置为输出口时,对应脚的状态和该位的值相同
当端口配置作为功能脚时,如果读该位的值,将是一个不确定的值
上拉电阻配置寄存器位描述
PG[7:0] [7:0] 0: 允许上拉电阻连接到对应脚
1: 不允许.
8 上拉电阻控制寄存器控制D[15:0]脚的上拉电阻。
SPUCR 0x01D2004C R/W 上拉电阻控制寄存器初始值0x4
位名称BIT 描述
HZ@STOP [2] 0 =在停止模式存储器的控制信号保持先前的状态
1 = 控制信号保持高阻状态
SPUCR1 [1] 0 = DATA[15:8] 上拉电阻允许
1 = DATA[15:8] 上拉电阻不允许
SPUCR0 [0 0 = DATA[7:0] 上拉电阻允许
1 = DATA[7:0] 上拉电阻不允许
8 外部中断控制寄存器
EXTINT 0x01D20050 R/W 外部中断控制寄存器初始值0x000000
位名称BIT 描述
EINT7 [30:28] 000 = 低电平触发001 =高电平中断
01x = 下降沿触发10x = 上升沿触发
11x =双边沿触发
EINT6 [26:24]. 000 = 低电平触发001 =高电平中断
01x = 下降沿触发10x = 上升沿触发
11x =双边沿触发
EINT5 [22:20] 000 = 低电平触发001 =高电平中断
01x = 下降沿触发10x = 上升沿触发
11x =双边沿触发
EINT4 [18:16] 000 = 低电平触发001 =高电平中断
01x = 下降沿触发10x = 上升沿触发
11x =双边沿触发
EINT3 [14:12] 000 = 低电平触发001 =高电平中断
01x = 下降沿触发10x = 上升沿触发
11x =双边沿触发
EINT2 [10:8] 000 = 低电平触发001 =高电平中断
01x = 下降沿触发10x = 上升沿触发
11x =双边沿触发
EINT1 [6:4] 000 = 低电平触发001 =高电平中断
01x = 下降沿触发10x = 上升沿触发
11x =双边沿触发
EINT0 [2:0] 000 = 低电平触发001 =高电平中断
01x = 下降沿触发10x = 上升沿触发
11x =双边沿触发
9 外部中断挂起寄存器
外部中断请求4、5、6、7通过或逻辑公用一个中断请求线。
EXTINTPND 0x01D20054 R/W 外部中断挂起寄存器初始值0x00
位名称BIT 描述
EXTINTPND3 [3] 如果EINT7激活, EXINTPND3设置为1, INTPND[21] 也设置为1
EXTINTPND2 [2] 如果EINT6激活, EXINTPND2设置为1, INTPND[21]也设置1 EXTINTPND1 [1] 如果EINT5激活, EXINTPND1设置为1, INTPND[21]也设置1 EXTINTPND0 [0] 如果EINT4激活, EXINTPND0设置为1, INTPND[21]也设置为1
中断服务线程必须在清除外部挂起条件EXTINTPND后清除中断挂起条件(INTPND),EXTINTPND通过写入1来清除。
9 PWM TIMER
S3C44B0X有六个16位定时器,每个可以以中断模式或DMA模式来工作。定时器0、1、2、3、4有PWM功能,定时器5是一个内部定时器没有输出脚。定时器0有一个DEAD ZONE 产生器
定时器0、1共享一个8位预定标器,定时器2、3共享另一个8位预定标器,定时器4、5也共享一个8位预定标器。定时器0、1、2、3有一个时钟除法器 (1/2, 1/4, 1/8, 1/16, 1/32). 定时器4、5有一个时钟除法器(1/2, 1/4, 1/8, 1/16)和一个输入时钟TCLK/EXTCLK.
每个定时器从时钟除法器接收时钟输入,而时钟除法器的输入时钟为相应的预定标器
每个定时器有一个计数缓冲寄存器,保持定时器的计数初始值,当定时器允许和它的向下计数器计到0时,该初始值重新加载到定时器的向下计数器,并产生中断请求。每个定时器还有一个比较缓冲寄存器,初始值加载到定时器的比较寄存器,当比较寄存器的值与定时器的向下计数器值相同时,定时器控制逻辑改变TOUT的输出电平。
由于双缓冲特征。TCMPn和TCNTBn可以随时加载,在下一个定时周期起作用。
8位预定标器和4位时钟除法器可以形成下列除出频率
4-bit divider settings (prescaler = 1) (prescaler = 255) (TCNTBn = 65535)
1/2 ( MCLK = 66 MHz ) 0.030 us (33.0 MHz ) 7.75 us (58.6 KHz ) 0.50 sec
1/4 ( MCLK = 66 MHz ) 0.060 us (16.5 MHz ) 15.5 us (58.6 KHz ) 1.02 sec
1/8 ( MCLK = 66 MHz ) 0.121 us (8.25 MHz ) 31.0 us (29.3 KHz ) 2.03 sec
1/16 ( MCLK = 66 MHz) 0.242 us (4.13 MHz) 62.1 us (14.6 KHz ) 4.07 sec
1/32 ( MCLK = 66 MHz) 0.485 us (2.06 MHz) 125 us (7.32 KHz ) 8.13 sec
无论何时和定时器是否运行,TOUT 反转器的on/off 位变化,TOUT逻辑都变化。
DEAD ZONE 产生器
DEAD ZONE 产生器使TOUT0 和nTOUT0(TOUT0的反转信号)输出不能同时打开,而是之间有一个小的间隙。
DMA 请求模式
PWM定时器能在规定时间产生一个DMA请求,定时器在收到ACK信号之前一直保持DMA请求信号为低。通过设置TCFG1寄存器,6个定时器之一能产生一个DMA请求,不在产生中断请求。
DMA mode DMA request 配置
DMA mode DMA request
0000 No select
0001 Timer0
0010 Timer1
0011 Timer2
0100 Timer3
0101 Timer4
0110 Timer5
0111 No select
定时器控制寄存器
1 定时器配置寄存器0
TCFG0 0x01D50000 R/W 三个8位预定标器的配置初始值0x00000000
位名称BIT 描述
Dead zone length [31:24] 这8 位确定dead zone的长度. dead zone的长度的一个时间单位与定时器0的一个时间单位相等.
Prescaler 2 [23:16] 这8位确定定时器4、5的预定标器的值
Prescaler 1 [15:8] 这8位确定定时器2、3的预定标器的值
Prescaler 0 [7:0] 这8位确定定时器0、1的预定标器的值
2 定时器配置寄存器1
TCFG1 0x01D50004 R/W MUX和DMA模式选择寄存器初始值0x00000000
位名称BIT 描述
DMA mode [27:24] 选择DMA请求通道
0000 = No select (all interrupt) 0001 = Timer0
0010 = Timer1 0011 = Timer2
0100 = Timer3 0101 = Timer4
0110 = Timer5 0111 = Reserved
MUX 5 [23:20] 选择定时器5的MUX输入.
0000 = 1/2 0001 = 1/4 0010 = 1/8
0011 = 1/16 01xx = EXTCLK
MUX 4 [19:16] 选择定时器4的MUX输入.
0000 = 1/2 0001 = 1/4 0010 = 1/8
0011 = 1/16 01xx = TCLK
MUX 3 [15:12] 选择定时器3的MUX输入.
0000 = 1/2 0001 = 1/4 0010 = 1/8
0011 = 1/16 01xx = 1/32
MUX 2 [11:8] 选择定时器2的MUX输入.
0000 = 1/2 0001 = 1/4 0010 = 1/8
0011 = 1/16 01xx = 1/32
MUX 1 [7:4] 选择定时器1的MUX输入.
0000 = 1/2 0001 = 1/4 0010 = 1/8
0011 = 1/16 01xx = 1/32
MUX 0 [3:0] 选择定时器0的MUX输入.
0000 = 1/2 0001 = 1/4 0010 = 1/8
0011 = 1/16 01xx = 1/32
3 定时器控制寄存器
TCON 0x01D50008 R/W 定时器控制寄存器初始值0x00000000
位名称BIT 描述
Timer 5 auto reload on/off [26] 这位确定定时器5的自动加载的开/关
0 = One-shot 1 = Interval mode (auto reload)
Timer 5 manual update [25] 这位确定定时器5的手动更新
0 = No operation 1 = Update TCNTB5
Timer 5 start/stop [24] 这位确定定时器5的启动/停止.
0 = Stop 1 = Start for Timer 5
Timer 4 auto reload on/off [23] 这位确定定时器4的自动加载的开/关
0 = One-shot 1 = Interval mode (auto reload)
Timer 4 outputinverter on/off [22] 这位确定定时器4的输出反转器的开/关
0 = Inverter off 1 = Inverter on for TOUT4
Timer 4 manual update [21] 这位确定定时器4的手动更新
0 = No operation 1 = Update TCNTB4,TCMPB4
Timer 4 start/stop [20] 这位确定定时器5的启动/停止.
0 = Stop 1 = Start for Timer 4
Timer 3 auto reload on/off [19] 这位确定定时器3的自动加载的开/关
0 = One-shot 1 = Interval mode (auto reload)
Timer 3 outputinverter on/off [18] 这位确定定时器3的输出反转器的开/关
0 = Inverter off 1 = Inverter on for TOUT3
Timer 3 manual update [17] 这位确定定时器3的手动更新
0 = No operation 1 = Update TCNTB3,TCMPB3
Timer 3 start/stop [16] 这位确定定时器3的启动/停止.
0 = Stop 1 = Start for Timer 3
Timer 2 auto reload on/off [15] 这位确定定时器2的自动加载的开/关
0 = One-shot 1 = Interval mode (auto reload)
Timer 2 outputinverter on/off [14] 这位确定定时器2的输出反转器的开/关
0 = Inverter off 1 = Inverter on for TOUT2
Timer 2 manual update [13] 这位确定定时器2的手动更新
0 = No operation 1 = Update TCNTB2,TCMPB2
Timer 2 start/stop [12] 这位确定定时器2的启动/停止.
0 = Stop 1 = Start for Timer 2
Timer 1 auto reload on/off [11] 这位确定定时器1的自动加载的开/关
0 = One-shot 1 = Interval mode (auto reload)
Timer 1 outputinverter on/off [10] 这位确定定时器1的输出反转器的开/关
0 = Inverter off 1 = Inverter on for TOUT1
Timer 1 manual update [9] 这位确定定时器1的手动更新
0 = No operation 1 = Update TCNTB1,TCMPB1
Timer 1 start/stop [8] 这位确定定时器1的启动/停止.
0 = Stop 1 = Start for Timer 1
Dead zone enable [4] 这位确定dead zone的操作.
0 = Disable 1 = Enable
Timer 0 auto reload on/off [4] 这位确定定时器0的自动加载的开/关
0 = One-shot 1 = Interval mode (auto reload)
Timer 0 outputinverter on/off [3] 这位确定定时器0的输出反转器的开/关
0 = Inverter off 1 = Inverter on for TOUT0
Timer 0 manual update [2] 这位确定定时器0的手动更新
0 = No operation 1 = Update TCNTB0,TCMPB0
Timer 0 start/stop [1] 这位确定定时器0的启动/停止.
0 = Stop 1 = Start for Timer 0
4 定时器0计数/比较缓冲寄存器
TCNTB0 0x01D5000C R/W 定时器0计数缓冲寄存器初始值0x00000000
TCMPB0 0x01D50010 R/W 定时器0比较缓冲寄存器初始值0x00000000
5 定时器0计数观察寄存器
TCNTO0 0x01D50014 R 定时器0计数观察寄存器初始值0x00000000
6定时器1计数/比较缓冲寄存器
TCNTB1 0x01D50018 R/W 定时器1计数缓冲寄存器初始值0x00000000
TCMPB1 0x01D5001C R/W 定时器1比较缓冲寄存器初始值0x00000000
7 定时器1计数观察寄存器
TCNTO1 0x01D50020 R 定时器1计数观察寄存器初始值0x00000000
8 定时器2计数/比较缓冲寄存器
TCNTB2 0x01D50024 R/W 定时器2计数缓冲寄存器初始值0x00000000
TCMPB2 0x01D50028 R/W 定时器2比较缓冲寄存器初始值0x00000000
9 定时器2计数观察寄存器
TCNTO2 0x01D5002C R 定时器2计数观察寄存器初始值0x00000000
10 时器3计数/比较缓冲寄存器
TCNTB3 0x01D50030 R/W 定时器3计数缓冲寄存器初始值0x00000000
TCMPB3 0x01D50034 R/W 定时器3比较缓冲寄存器初始值0x00000000
11 定时器3计数观察寄存器
TCNTO3 0x01D50038 R 定时器3计数观察寄存器初始值0x00000000
12定时器4计数/比较缓冲寄存器
TCNTB4 0x01D5003C R/W 定时器4计数缓冲寄存器初始值0x00000000
TCMPB4 0x01D50040 R/W 定时器4比较缓冲寄存器初始值0x00000000
13 定时器4计数观察寄存器
TCNTO4 0x01D50044 R 定时器4计数观察寄存器初始值0x00000000
14 定时器5计数/比较缓冲寄存器
TCNTB5 0x01D50048 R/W 定时器5计数缓冲寄存器初始值0x00000000
15 定时器5计数观察寄存器
TCNTO5 0x01D5004C R 定时器5计数观察寄存器初始值0x00000000
10 UART
S3C44B0X UART单元提供了两个异步串口(SIO),每个SIO可以操作在中断模式或DMA模式,支持波特率最大大115.2kbps, 每个SIO通道包含都有一个16字节的接收与发送FIFO缓冲区.
UART 发送接收单元提供可编程的波特率,红外发送/接收(IrDA 1.0), 一个开始位,一个或两个停止位,5、6、7、8位数据位和奇偶校验功能,波特率产生器可以有MCLK钟控。
发送器也可以产生暂停条件,暂停条件强制串口输出保持在逻辑0状态比一场长的时间。
接收器可以检测溢出错误,奇偶错误,frame 错误和暂停条件。其中每一个设置一个错误标志。溢出错误在老的数据还没有读取新的数据到达,frame 错误是接收数据没有有效的停止位,暂停条件指示RxDn输入保持逻辑0状态比一场长的时间。
当在FIFO模式接收缓冲区FIFO不为空时,在可以接收3个字的时间期间没有接收到数据时接收超时。
自动流控制(AFC)
S3C44B0X的UART在UART连接UART时支持用nRTS 和nCTS信号进行自动流控制,在UART连接MODEM时不支持自动流控制,这时由软件控制nRTS和nCTS信号。
在自动流控制时,nRTS由接收条件控制,发送运行由nCTS信号控制,发送时当nCTS信号有效时(意味着对方的UART准备好接收数据),发送器传输数据到FIFO中。在接收数据时,当FIFO有多于两个字节的空间时,nRTS激活(指示接收FIFO准备好接收数据),FIFO剩余空间在一个字节以下时 nRTS无效。
在非自动流控制操作时:
接收操作:1 选择接收模式(中断或BDMA)
2 检查在UFSTATn寄存器中的Rx FIFO计数值,如果值小于15,用户必须设置UMCONn[0]为1(激活nRTS),否则设置UMCONn[0]为0(不激活nRTS)。
3 重复步骤2
发送操作: 1 选择发送模式(中断或BDMA)
2 检查UMSTATn[0]的值,如果值为1(nCTS激活),用户可以发送数据到发送缓冲区或发送FIFO寄存器。
每个UART有七个状态:溢出错误,奇偶错误,frame 错误和暂停条件,接收FIFO/缓冲准备好,发送FIFO/缓冲为空,发送移位寄存器为空。这些状态由UART状态寄存器指示。
溢出错误,奇偶错误,frame 错误和暂停条件作为接收错误状态可以引起接收错误中断请求。
如果在中断模式,当接收器传送接收移位寄存器的数据到接收FIFO时,激活FIFO满状态引起接收中断。当发送器从发送FIFO传送数据到发送移位寄存器后,发送FIFO空状态激活引起发送中断。
接收FIFO满状态和发送FIFO空状态信号在DMA模式用来产生DMA请求。
中断产生条件总结如下
类型FIFO模式非FIFO模式
Rx中断1 FIFO满状态产生上时接收移位寄存器的数据满时
2 接收超时时
Tx 中断发送FIFO空状态激活每次发送数据完成时
Error中断1 检测到奇偶错误,frame 错误和暂停条件所有的错误立即产生一个中断,如果
2当接收FIFO到达顶端时(溢出错误) 错误同时出现,只产生一个中断
UART还有一个错误状态FIFO,错误状态FIFO指示在FIFO寄存器中的数据接收到一个错误。错误中断仅在具有错误的数据准备读出时产生。
波特率产生
时钟源通过一个16分频器和一个16位分频器产生波特率时钟。16位分频器的值由UART 波特率分频寄存器(UBRDIVn)规定,值从1到(2 16 -1).公式如下:
UBRDIVn = (round_off)(MCLK/(bps x 16) ) -1.
Loop-back 模式
在该模式,发送的数据立即被接收,主要用来测试。
IR (Infrared) 模式
S3C44B0X UART支持红外发送和接收。
在红外发送时,数据0的发送脉冲是位宽度的3/16。接收时,采样脉冲是位时间的1/16,因此RX脉冲宽度必须大于采样脉冲宽度。
UART 寄存器
1 UART线控制寄存器
ULCON0 0x01D00000 R/W UART0的线控制寄存器初始值0x00
ULCON1 0x01D04000 R/W UART1的线控制寄存器初始值0x00
位名称BIT 描述
Reserved [7]
Infra-Red Mode [6] 该位确定是否使用红外模式
0 = Normal mode operation
1 = Infra-Red Tx/Rx mode
Parity Mode [5:3] 该位确定奇偶如何产生和校验
0xx = No parity 100 = Odd parity
101 = Even parity 110 = Parity forced/checked as 1
111 = Parity forced/checked as 0
stop bit [2] 该位确定停止位的个数
0 = One stop bit per frame
1 = Two stop bit per frame
Word length [1:0] 该位确定数据位的个数
00 = 5-bits 01 = 6-bits
11 = 7-bits 11 = 8-bits
2 UART控制寄存器
UCON0 0x01D00004 R/W UART0控制寄存器初始值0x00
UCON1 0x01D04004 R/W UART1控制寄存器初始值0x00
位名称BIT 描述
Tx interrupt type [9] 发送中断请求类型
0 = Pulse
1 = Level
Rx interrupt type [8] 接收中断请求类型
0 = Pulse
1 = Level
Rx time out enable [7] 允许/不允许Rx超时中断
0 = Disable 1 = Enable
Rx error status
interrupt enable [6] 允许/不允许UART错误中断
0 = Do not generate receive error status interrupt
1 = Generate receive error status interrupt
Loop-back Mode [5] 该位为1使UART进入loop back 模式
0 = Normal operation
1 = Loop-back mode
Send Break Signal [4] 该位为1使UART发送一个暂停条件,该位在发送一个暂停信号后自动清除
0 = Normal transmit
1 = Send break signal
Transmit Mode [3:2] 这两位确定哪个模式可以写TX数据到UART发送保持寄存器
00 = Disable 01 = Interrupt request or polling mode
10 = BDMA0 request (Only for UART0)
11 = BDMA1 request (Only for UART1)
Receive Mode [1:0] 这两位确定哪个模式可以从UART接收缓冲寄存器读数据
00 = Disable, 01 = Interrupt request or polling mode
10 = BDMA0 request (Only for UART0)
11 = BDMA1 request (Only for UART1)
3 UART FIFO 控制寄存器
UFCON0 0x01D00008 R/W UART0 FIFO控制寄存器初始值0x00
UFCON1 0x01D04008 R/W UART1 FIFO控制寄存器初始值0x00
位名称BIT 描述
Tx FIFO Trigger Level [7:6] 这两位确定发送FIFO的触发条件
00 = Empty 01 = 4-byte
10 = 8-byte 11 = 12-byte
Rx FIFO TriggerLevel [5:4] 这两位确定接收FIFO的触发条件
00 = 4-byte 01 = 8-byte
10 = 12-byte 11 = 16-byte
Reserved [3]
Tx FIFO Reset [2] TX FIFO复位位,该位在FIFO复位后自动清除
0 = Normal
1= Tx FIFO reset
Rx FIFO Reset [1] Rx FIFO复位位,该位在FIFO复位后自动清除
0 = Normal
1= Rx FIFO reset
FIFO Enable [0] 0 = FIFO disable
1 = FIFO mode
4 UART MODEM 控制寄存器
UMCON0 0x01D0000C R/W UART0 MODEM控制寄存器初始值0x00
UMCON1 0x01D0400C R/W UART1 MODEM控制寄存器初始值0x00
位名称BIT 描述
Reserved [7:5] 这两位必须为0
AFC(Auto Flow
Control) [4] AFC是否允许
0 = Disable 1 = Enable 0
Reserved [3:1] 这两位必须为0
Request to Send [0] 如果AFC允许,该位忽略
0 = 'H' level(Inactivate nRTS)
1 = 'L' level(Activate nRTS)
5 UART TX/RX状态寄存器
UTRSTAT0 0x01D00010 R UART0 TX/RX状态寄存器初始值0x6
UTRSTAT1 0x01D04010 R UART1 TX/RX状态寄存器初始值0x6
位名称BIT 描述
Transmit shifter
Empty [2] 该位在发送移位寄存器没有有效的数据或发送移位寄存器为空时为1
0 = Not empty
1 = Transmit holding & shifter register empty
Transmit buffer
Empty [1] 该位在发送缓冲寄存器没有包含有效的数据为1
如果UART使用FIFO, 用户应当检查UFSTAT寄存器的Tx FIFO计数位和Tx FIFO满标志位代替检查该位。
0 =The buffer register is not empty
1 = Empty
Receive buffer
data ready [0] 无论何时接收缓冲寄存器包含有效数据,该位为1
如果UART使用FIFO, 用户应当检查UFSTAT寄存器的Rx FIFO计数位代替检查该位。
0 = Completely empty
1 = The buffer register has a received data