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

DM6467 uart1 作为485串口

目前我的开发板上用UART0作为调试串口,由于项目需要,我要扩展一个485串口。请问我要怎么修改内核源码来实现uart1 作为485串口。

我使用内核版本:2.6.18

目前我自己修改了几个寄存器:

1、

主要修改在/arch/arm/mach-davinci/board-dm6467-evm.c里面的board_init函数中,之前这个函数的修改都去掉,在函数最后添加一个函数调用:davinci_psc_config(DAVINCI_GPSC_ARMDOMAIN,DAVINCI_DM646X_LPSC_UART1,1);

 

然后在davinci_psc_config函数中,添加一个case语句:

       case DAVINCI_DM646X_LPSC_UART1:/*bao*/

                /* power up UART1 data */

                val = davinci_readl(DAVINCI_VDD3P3V_PWDN);

                davinci_writel(val & 0xFFFFFFBF, DAVINCI_VDD3P3V_PWDN);

                /* select UART 16x  mode */

                val = davinci_readl(DAVINCI_UART1_BASE + 0x20);

                davinci_writel(val & 0xFFFFFFF8, DAVINCI_UART1_BASE + 0x20);

                /* generate THR interrupt */

                val = davinci_readl(DAVINCI_UART1_BASE + 0x40);

                davinci_writel(val | 0x00000008, DAVINCI_UART1_BASE + 0x40);

                break;

 但是我在读485串口的时候没问题,我开发板发送的时候发到5000个字节左右就就自动不发了,程序也没报错

Chris Meng:

你能参考一下e2e.ti.com/…/187717.aspx?看是否对你的问题有所帮助?

hant tony:

回复 Chris Meng:

谢谢

赞(0)
未经允许不得转载:TI中文支持网 » DM6467 uart1 作为485串口
分享到: 更多 (0)