s3c2410_串口 COM0 终端下不能正确接收键盘输入
------------------------------------------------------------- 硬件:买的s3c2410核心板,自己做的外围接口板。
软件:由vivi引导,移植了linux2.4
问题描述:
s3c2410的COM0串口连接超级终端后,不能正确地接收键盘的输入。 如我输入ls,显示的可能就是am 如我输入ifconfig,显示的就是别的字符。 (同样的个数,但是字符不是我输入的)
(一个一个字符尝试N遍后,可以得到想要的命令)
------------------------------------------------------------- 问题的现象有:
1. s3c2410的COM0串口连接超级终端后,启动电源,由vivi引导。 此时不进入系统,进入vivi的命令界面 vivi> 我一直键盘上按着a,显示的是: vivi> aaaacaaaaccacaacaaacacaacacccaacacccac
我一直键盘上按着b,显示的是: vivi> fbffffbffffbfbfbfbffffffbffffbffff
我一直键盘上按着c,显示的是: vivi> cccccccccccccccccccccccccccccccc
我一直键盘上按着d,显示的是: vivi> ddlddllllllllddddllddllllldllddll
我一直键盘上按着e,显示的是: vivi> eggememeemmoeomgmemooommegmemoomeommoeem
我一直键盘上按着f,显示的是:vivi> ffffffffffffffffffffffff
我一直键盘上按着f,显示的是: vivi> llllllllllllllllllllllllllllllll
我一直键盘上按着m,显示的是: vivi> mmommoomoomomommmmmmmmmmmoommomoommomm
我一直键盘上按着z,显示的是: vivi> ~~~zz~zzzz~~z~~~z~~~~~zzz~~zzz~~~
......
2. 我进入linux后,在终端提示符下 键盘的输入也不能正确显示在终端提示符下 如我本来在终端提示符下想输入ifconfig, 终端上显示为:[/mnt/yaffs]yfconf{g 又一次在键盘里输入ifconfig字符后, 终端上显示为: [/mnt/yaffs]kfconfyg 再输入,终端上显示的还有如 kfconfkg, {fconfyg, yfconf{g 等。
3. 在ADS下,编写了对串口操作的程序(可对COM0,COM1操作) 程序不断地想COMn输出字符a (都是115200 8N1) 当Uart_Select(0); 时,向COM0输出数据,发现: PC上接收COM0的终端接收字符a比较慢,字符一个一个出现
当Uart_Select(1); 时,向COM1输出数据,发现: PC上接收COM1的终端接收字符a很快,1s内接收显示10多个字符
4. 以前硬件调试时,还出现过乱码问题。如我在终端下ls命令 输出的目录,在终端显示下有很多乱码。 后来我换了一个MAX3232,这个乱码问题好像是解决了, 但是终端不能正确接收键盘字符的问题一直有。
------------------------------------------------------------- 问题排除:
超级终端下我的设置应该没有问题,都是115200,8N1,硬件流无
这个问题应该与vivi,嵌的操作系统linux没有关系吧: 用ADS下的裸程序向COM0发出'a',为什么PC上接收和显示'a'的速度很慢呢? (同样的程序,同样的寄存器配置COM1就很快。)
MAX3232应该没有问题,COM0, COM1是接在一个MAX3232芯片上。
核心板没有问题,因为放在博创的试验箱上COM1就正常。
-------------------------------------------------------------
这到底是怎么回事呢? 请了解的朋友指点,感谢
|