TI中文支持网
TI专业的中文技术问题搜集分享网站

关于AM335X处理UART IRDA红外配置的问题

TI技术支持和各大侠好,本人使用AM3352处理器的UART5 IRDA功能,处理器串口5连接TFDU4101红外收发芯片,想要实现红外收发功能,比如我通过IRDA发送0X18,那么就将数据通过UART5 IRDA发到TFDU4101,然后TFDU4101将数据转成红外信号转发出去。我的问题是当我将0X18写到UART5的发送缓冲区时,UART5和TX脚发送了很多莫名的信号,下面是示波器截图

两张图中上图为整体的发送信号捕抓,下图为上面红方框的放大图片。经本人试验,当我发送0X18时,0X18是发送出去的,只是发送在众多数据当中。

下面是我的IRDA初始化代码:

//复位UART5

*SYSC |= 0X0002;
printf("uart reset!\n");
tmp = *SYSS;
while(!tmp)//复位
{
printf("wailt uart reset!\n");
printf("UART MODLE :SYSS = 0x%04X\n",tmp);
usleep(1);
}

*MDR1 &=0Xfff8;//进入UART 16X模式
printf("进入UART 16X模式 :MDR1 = 0x%04X\n",*MDR1);
*MDR2 |=0X0008;//进入UART 脉冲整形模式
printf("进入UART 脉冲整形模式 :MDR2 = 0x%04X\n",*MDR2);
*LCR = 0x03;//字长8位1个停止位
printf("数据字长8位,1个停止位无奇偶校验:\nLCR = 0x%04X\n",*LCR);
*ACREG &= 0xFF7F;//SIR脉冲宽度为3/16us
printf("SIR脉冲宽度为3/16us :ACREG = 0x%04X\n",*ACREG);
//*MDR1 |=0X07;//禁止外设
//*LCR = 0xBF;
//*EFR |= 0x10;
*MDR1 |=0X0001;//开启SIR模式
printf("开启SIR模式 :MDR1 = 0x%04X\n",*MDR1);
*LCR |= 0x0080;
//*LCR = 0x0080;
printf("允许配置波特率:LCR = 0x%04X\n",*LCR);
*DLL = 0X1A;
*DLH = 0X00;
printf("DLL = %X ,DLH = %X!\n",(unsigned char)*DLL ,(unsigned char)*DLH);
*LCR &= 0xff7f;
printf("退出配置波特率:LCR = 0x%04X\n",*LCR);

//*FCR &= 0XFFFFFFFE;
printf("禁止FIFO:FCR = 0x%04X\n",*FCR);
//*MCR |=0X01;
//*IER |= 0X02;//使能中断
//*TXFLL |=0X01;
//*EBLR = 0x08;
printf("查看SCR状态:SCR = 0x%04X\n",*SCR);
printf("查看TXFLL状态:TXFLL = 0x%04X\n",*TXFLL);
printf("查看TXFLH状态:TXFLH = 0x%04X\n",*TXFLH);

printf("查看TLR状态:TLR = 0x%04X\n",*TLR);
*THR = 0x18;//发送0X18

清问我的初始始化对吗?哪时有遗漏?

下面是的执行代码的打印数据:

 uart reset!
进入UART 16X模式 :MDR1 = 0x0000
进入UART 脉冲整形模式 :MDR2 = 0x0008
数据字长8位,1个停止位无奇偶校验:
LCR = 0x0003
SIR脉冲宽度为3/16us :ACREG = 0x0000
开启SIR模式 :MDR1 = 0x0001
允许配置波特率:LCR = 0x0083
DLL = 1A ,DLH = 0!
退出配置波特率:LCR = 0x0003
禁止FIFO:FCR = 0x0000
查看SCR状态:SCR = 0x0000
查看TXFLL状态:TXFLL = 0x0000
查看TXFLH状态:TXFLH = 0x0000
查看TLR状态:TLR = 0x0000
查看LSR状态:LSR = 0x0003
查看LSR状态:LSR = 0x0083
OK!
另外的附上AM335X技术参考手册《AM335x Sitara™ ProcessorsTechnical Reference Manual》的截图
按照我的应用,我想我需要的就是这种模式:SIR Free Format Mode,希望TI技术支持和各大侠给予帮助,谢谢,本人QQ:910377182
sawi wu:

我的问题解决了

Jian Zhou:

回复 sawi wu:

能否给大家share下解决方法,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » 关于AM335X处理UART IRDA红外配置的问题
分享到: 更多 (0)