打印
[DSP编程]

关于ti公司的多串口芯片TL16C754的初始化程序求助

[复制链接]
3448|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tmmdh|  楼主 | 2015-3-2 16:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
小的最近接触dsp,接触到一段TL16C754的初始化程序,程序如下图所示,因为我英语很差,看不懂手册,所以想请教一下大家这个754初始化到底是怎样的?因为本人无权发手册的地址,所以手册还得麻烦各位大牛自己下载啊!
希望大家帮帮我这个菜鸟啊,卡在这里好几天了!!!!

void ComInit(void)
{                       
//---------------------- COMA---------------------------------------------   
        *(unsigned char *)( COMA+3 ) = 0x80;                                      
        *(unsigned char *)( COMA )   = 0xf0; //波特率分频18.432M/4800/16=0xf0     
        *(unsigned char *)( COMA+1 ) = 0x00;                                      
                                                                               
        *(unsigned char *)( COMA+3 ) = 0x03;
        *(unsigned char *)( COMA+2 ) = 0xc1; //FIFO
        *(unsigned char *)( COMA+1 ) = 0x00;
       
//-----------------------COMB------------------------------------------------
        *(unsigned char *)( COMB+3 ) = 0x80;
        *(unsigned char *)( COMB )   = 0x0A; //波特率分频18.432M/9600/16=0x78
        *(unsigned char *)( COMB+1 ) = 0x00;
       
        *(unsigned char *)( COMB+3 ) = 0x03;
        *(unsigned char *)( COMB+2 ) = 0xc1; //FIFO
        *(unsigned char *)( COMB+1 ) = 0x01;//允许接收
       
//----------------------COMC------------------------------------------------
        *(unsigned char *)( COMC+3 ) = 0xbf;            
        *(unsigned char *)( COMC+2 ) = 0x10; //FIFO     
        *(unsigned char *)( COMC+4 ) = 0x40; //FIFO     
       
        *(unsigned char *)( COMC+3 ) = 0x80;
        *(unsigned char *)( COMC )   = 0x0a; //波特率分频18.432M/115200/16=10
        *(unsigned char *)( COMC+1 ) = 0x00;
       
        *(unsigned char *)( COMC+3 ) = 0x03;           
        *(unsigned char *)( COMC+2 ) = 0xf1; //FIFO   
        *(unsigned char *)( COMC+1 ) = 0x00;           

//----------------------COMD------------------------------------------------
        *(unsigned char *)( COMD+3 ) = 0xbf;
        *(unsigned char *)( COMD+2 ) = 0x10; //FIFO
        *(unsigned char *)( COMD+4 ) = 0x40; //FIFO
       
        *(unsigned char *)( COMD+3 ) = 0x80;
        *(unsigned char *)( COMD )   = 0x0A; //波特率分频18.432M/115200/16=0x0A
        *(unsigned char *)( COMD+1 ) = 0x00;
       
        *(unsigned char *)( COMD+3 ) = 0x03;
        *(unsigned char *)( COMD+2 ) = 0xf1; //FIFO
        *(unsigned char *)( COMD+1 ) = 0x03; //允许接收发送
}

相关帖子

沙发
zhangmangui| | 2015-3-2 22:46 | 只看该作者
TL16C754_1并转四串.pdf (488.63 KB)

手册可以按照附件的形式上传

使用特权

评论回复
板凳
zhangmangui| | 2015-3-2 22:51 | 只看该作者
你好  你是不懂DSP端还是TL16C754的配置啊  
你先弄明白DSP和754之间的连接是什么  
然后COMD是多少
配置也就是对地址COMD  ,COMD+1,COMD+2,COMD+3,COMD+4的配置   通过手册弄清楚
这些代表的意思    和每位送入数据的意思就可以啦

使用特权

评论回复
地板
zhangmangui| | 2015-3-2 22:54 | 只看该作者

使用特权

评论回复
5
tmmdh|  楼主 | 2015-3-4 15:00 | 只看该作者
zhangmangui 发表于 2015-3-2 22:51
你好  你是不懂DSP端还是TL16C754的配置啊  
你先弄明白DSP和754之间的连接是什么  
然后COMD是多少

您好,谢谢您的回复。我是不懂754的配置啊,想上面的那些代码我都看不懂。COMA+1对应A口的哪个寄存器这些我知道,但是代码我还是不懂,你比如说,为什么在设置波特率的时候要先设置COMA+3,然后才能输入波特率?在设置FIFO的时候为什么也要设置COMA+3呢?

还有一个问题,就像你在楼下发的那张图片一样,比如说A[2..0]为010吧到底是对应哪个寄存器呢,在读的模式下到底是对应IIR还是EFR,在写的模式下是对应FCR还是EFR???

这些都困扰我很长时间了,本人菜鸟啊。。。

使用特权

评论回复
6
zhangmangui| | 2015-3-4 22:57 | 只看该作者
tmmdh 发表于 2015-3-4 15:00
您好,谢谢您的回复。我是不懂754的配置啊,想上面的那些代码我都看不懂。COMA+1对应A口的哪个寄存器这些 ...

你好   你首先要明白C语言中的指针    从代码中要知道COMA是多少
+1等操作是在地址COMA上的偏移
图片中的同一个地址  读写模式下是不同的寄存器

使用特权

评论回复
7
小班儿| | 2015-12-1 16:46 | 只看该作者
楼主现在调试的得怎么样了?

使用特权

评论回复
8
JY-DX-JY| | 2015-12-1 18:39 | 只看该作者
用过TL16C554,不知道与754有什么差异。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

30

帖子

0

粉丝