嵌入式系统方面的一个题,高手们看看啊,解答过程尽量详细一点,分还可以加啊! 5
在嵌入式处理器S3C2410芯片中,当PCLK或UCLK为80MHz时,串口0的波特率为115200bps,如何设置相应的控制寄存器?要求用脉冲请求中断的方式、使用收/发...
在嵌入式处理器S3C2410芯片中,当PCLK 或 UCLK 为80 MHz时,串口0的波特率为115200 bps , 如何设置相应的控制寄存器?要求用脉冲请求中断的方式、使用收/发FIFO,8个数据位、1个停止位、不校验,请设置串口相关控制寄存器和FIFO控制寄存器.(请注意计算方法,相应寄存器的每位含义和设置!!!!!)
展开
1个回答
展开全部
解: 假设波特率产生器的时钟源为PCLK
○1由公式:UBRDIVn=(int)(PCLK/(bps*16))-1 ,
(其中bps为波特率。PCLK 或 UCLK均可)
除数寄存器UBRDIVn=(int)(80000000/(115200*16))-1=(int)(43.4)-1=42
因为采用的是串口0,所以 UBRDI0 = 42
○2线性控制寄存器(ULCON),主要用来规定传输帧的格式
ULCON0=0b 0 000 0 11=0x03
含义: 非红外、不校验、 1个停止位、 8个数据位(其他默认)
○3控制寄存器(UCON),主要用来选择波特率产生器的时钟源和请求方式
UCON0=0b 0 0 0 0 0 0 0 01 01=0x05
含义:选Pclk、脉冲请求中断、不产生接收出错的状态中断、不回送、不发送暂停信号、 采用中断方式。
○4 FIFO控制寄存器(UFCON)
UFCON0=0b 10 01 0 0 0 1=0x91
含义:决定传输FIFO的触发电平选8字节触发、保留位为0、重新设置FIFO后自动清除、 使能FIFO
○1由公式:UBRDIVn=(int)(PCLK/(bps*16))-1 ,
(其中bps为波特率。PCLK 或 UCLK均可)
除数寄存器UBRDIVn=(int)(80000000/(115200*16))-1=(int)(43.4)-1=42
因为采用的是串口0,所以 UBRDI0 = 42
○2线性控制寄存器(ULCON),主要用来规定传输帧的格式
ULCON0=0b 0 000 0 11=0x03
含义: 非红外、不校验、 1个停止位、 8个数据位(其他默认)
○3控制寄存器(UCON),主要用来选择波特率产生器的时钟源和请求方式
UCON0=0b 0 0 0 0 0 0 0 01 01=0x05
含义:选Pclk、脉冲请求中断、不产生接收出错的状态中断、不回送、不发送暂停信号、 采用中断方式。
○4 FIFO控制寄存器(UFCON)
UFCON0=0b 10 01 0 0 0 1=0x91
含义:决定传输FIFO的触发电平选8字节触发、保留位为0、重新设置FIFO后自动清除、 使能FIFO
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询