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

[复制链接]
4252|7
tmmdh 发表于 2015-3-2 16:31 | 显示全部楼层 |阅读模式
小的最近接触dsp,接触到一段TL16C754的初始化程序,程序如下图所示,因为我英语很差,看不懂手册,所以想请教一下大家这个754初始化到底是怎样的?因为本人无权发手册的地址,所以手册还得麻烦各位大牛自己下载啊!
希望大家帮帮我这个菜鸟啊,卡在这里好几天了!!!!

  1. void ComInit(void)
  2. {                       
  3. //---------------------- COMA---------------------------------------------   
  4.         *(unsigned char *)( COMA+3 ) = 0x80;                                      
  5.         *(unsigned char *)( COMA )   = 0xf0; //波特率分频18.432M/4800/16=0xf0     
  6.         *(unsigned char *)( COMA+1 ) = 0x00;                                      
  7.                                                                                
  8.         *(unsigned char *)( COMA+3 ) = 0x03;
  9.         *(unsigned char *)( COMA+2 ) = 0xc1; //FIFO
  10.         *(unsigned char *)( COMA+1 ) = 0x00;
  11.        
  12. //-----------------------COMB------------------------------------------------
  13.         *(unsigned char *)( COMB+3 ) = 0x80;
  14.         *(unsigned char *)( COMB )   = 0x0A; //波特率分频18.432M/9600/16=0x78
  15.         *(unsigned char *)( COMB+1 ) = 0x00;
  16.        
  17.         *(unsigned char *)( COMB+3 ) = 0x03;
  18.         *(unsigned char *)( COMB+2 ) = 0xc1; //FIFO
  19.         *(unsigned char *)( COMB+1 ) = 0x01;//允许接收
  20.        
  21. //----------------------COMC------------------------------------------------
  22.         *(unsigned char *)( COMC+3 ) = 0xbf;            
  23.         *(unsigned char *)( COMC+2 ) = 0x10; //FIFO     
  24.         *(unsigned char *)( COMC+4 ) = 0x40; //FIFO     
  25.        
  26.         *(unsigned char *)( COMC+3 ) = 0x80;
  27.         *(unsigned char *)( COMC )   = 0x0a; //波特率分频18.432M/115200/16=10
  28.         *(unsigned char *)( COMC+1 ) = 0x00;
  29.        
  30.         *(unsigned char *)( COMC+3 ) = 0x03;           
  31.         *(unsigned char *)( COMC+2 ) = 0xf1; //FIFO   
  32.         *(unsigned char *)( COMC+1 ) = 0x00;           

  33. //----------------------COMD------------------------------------------------
  34.         *(unsigned char *)( COMD+3 ) = 0xbf;
  35.         *(unsigned char *)( COMD+2 ) = 0x10; //FIFO
  36.         *(unsigned char *)( COMD+4 ) = 0x40; //FIFO
  37.        
  38.         *(unsigned char *)( COMD+3 ) = 0x80;
  39.         *(unsigned char *)( COMD )   = 0x0A; //波特率分频18.432M/115200/16=0x0A
  40.         *(unsigned char *)( COMD+1 ) = 0x00;
  41.        
  42.         *(unsigned char *)( COMD+3 ) = 0x03;
  43.         *(unsigned char *)( COMD+2 ) = 0xf1; //FIFO
  44.         *(unsigned char *)( COMD+1 ) = 0x03; //允许接收发送
  45. }

zhangmangui 发表于 2015-3-2 22:46 | 显示全部楼层


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 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???

这些都困扰我很长时间了,本人菜鸟啊。。。
zhangmangui 发表于 2015-3-4 22:57 | 显示全部楼层
tmmdh 发表于 2015-3-4 15:00
您好,谢谢您的回复。我是不懂754的配置啊,想上面的那些代码我都看不懂。COMA+1对应A口的哪个寄存器这些 ...

你好   你首先要明白C语言中的指针    从代码中要知道COMA是多少
+1等操作是在地址COMA上的偏移
图片中的同一个地址  读写模式下是不同的寄存器
小班儿 发表于 2015-12-1 16:46 | 显示全部楼层
楼主现在调试的得怎么样了?
JY-DX-JY 发表于 2015-12-1 18:39 | 显示全部楼层
用过TL16C554,不知道与754有什么差异。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

30

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部