s3c2410串口COM0终端下不能正确接收键盘输入

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

可能是晶体频率的误差恰好临界

另外,你的接口板结构是什么?
hello_djl 发表于 2013-5-10 10:10 | 显示全部楼层
问题解决了没?怎么改的?
liusensen 发表于 2013-5-10 11:04 | 显示全部楼层
等着看答案 呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

9

帖子

0

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