微波EDA网,见证研发工程师的成长!
微波EDA网
  • 首页
  • 微波射频
  • 射频和无线通信
  • 天线设计
  • 硬件设计
  • PCB和SI
  • 通信和网络
  • 测试测量
  • 应用设计
  • 研发杂谈
  • 研发问答
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > TL16C554读取寄存器的问题

TL16C554读取寄存器的问题

时间:10-02 整理:3721RD 点击:

我用DSP5509通过TL16C554扩展串口。

因为5509IO口少,所以需要用CPLD扩展。

现在有个问题,我对MCR寄存器进行读写。

我先写一个0XAA,再读,发现值为0X2A。

这是错误的。因为MCR高三位永久为0.

请高手指教,谢谢!

请看一下如下端口初始化程序,以UARTA为例

     /* Port a */

  •       uartwrite(uarta,lcr,0x80);  /* Enable divisor access */
          uartwrite(uarta,dll,0x18);  // set divisor, external crystal is 3.686 MHz
          uartwrite(uarta,lcr,0x03);  /* Set 8,N,1 data */
          uartwrite(uarta,fcr,0xc7);  /* Trigger Level 14 bytes, enable and reset RX & TX FIFOs */
          uartwrite(uarta,ier,0x0f);  /* Enable all ints */
          uartwrite(uarta,mcr, 0x08); /* Enable OUT2 to enable external interrupt INT*/ 

      

          /* Set data mode for a channel */
          uartwrite(uarta,lcr,0x03);  /* Set 8,N,1 data */

谢谢!还是不行哎。

补充:

发现读写:LCR,DLM,IER都正常。
但是读写FCR,DLL,MCR都不正常。
比如往FCR里写0X55,读出来是0X15;
比如往FCR里写0XAA,读出来是0X6A;
比如往DLL里写0X55,读出来是0X05;
比如往DLL里写0XAA,读出来是0X0A;
比如往MCR里写0X55,读出来是0X05;
比如往MCR里写0XAA,读出来是0X0A;

进一步发现,往DLL里写从0往上递增的数。

发现从0到15读的都对,但是过了15就恢复为0。

上一篇:ULN2003A并联到底能输出多大电流?
下一篇:LDVS324可以接收索尼串行LDVS吗?

寄存器 相关文章:

  • tas5715的EQ功能寄存器具体设置?
  • PGA280读寄存器问题
  • tas5721 2.1mode寄存器怎么设置有问题,有声道往左声道串音
  • 请教关于AFE032的滤波器寄存器设置问题
  • INA220B 寄存器读取时,LS BYTE一直显示0xFF。
  • ONET8501P的限幅放大器的芯片,内部寄存器的调整
栏目分类
  • 移动通信
  • 微波和射频技术
  • 无线和射频
  • PCB设计问答
  • 硬件电路设计
  • 嵌入式设计讨论
  • 手机设计讨论
  • 信号完整性分析
  • 测试测量
  • 微电子和IC设计
热门文章
  • tlv320adc3101 固件哪里能下
  • 原创音质很好的PCM2912+opa22
  • 使用Ultra Librarian转换TI芯
  • ADS1258与STM32单片机
  • HDMI 2.0型号转RGB or LVD
  • TI芯片资料中的Pspice Model
  • 关于OPA861作峰值保持电路的问
  • SDI转MIPI

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top