TLC16550C ace(异步通行设备) 文档学习

 

TLC16550C含有 autoflow control.

auto_/RTS,  auto_/CTS  这种模式能防止覆盖接受端缓冲区,但是发射端缓冲区到底如何,就要看你的驱动程序了。

/RTS 是request to send, 是输出信号,意思是要对方发送数据。

/CTS是 clear to send ,是输入信号,意思是已收到/RTS,可以发送数据。

/DSR,/DTR也是类似理解。

硬件部分涉及各种读写时序图,电气特性,在电路图设计时有用。

 

软件寄存器功能及其设置。

 

 

void init_serial(void)

    CSR=CSR&0xfffffffe;//dsp register

   EXP=0x0;

    LCR = 0x80; //先设置波特率寄存器

    DLL = 0x30;   

    DLM = 0x00;  

    LCR = 0x03;    

    FCR = 0x01;    

    MCR = 0x20;      

    IER = 0x01;

    CSR=CSR|1;

 

}

LC16550C寄存器有只读/只写区分,IIR类似中断标志寄存器(IFR),这种外设一般都带有自己的一套中断控制系统,而暴露一个外中断。

编程经验:

 

按照上述模式设置寄存器,唯一没有考虑的问题是如何消除串口错误状态,这在我的程序实践中:是靠空闲时反复读一些只读寄存器来消除的。

实际上应该有更好的清除模式才对。

使用瑞泰DSP6713-A板的工程师们,可以一起来探讨这个问题,但是上述方案确实可以让串口重返正确状态。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值