返回信息流有谁用过“飞凌ARM2440开发板”?对它的串口有些疑惑:
2440上提供了3各串口,按照用户手册上所标注的分别是:串口0,串口1,串口2.
请问:
1.串口0是不是就是COM1,他们分别是啥电平的?TTL?232?
2.三个串口都可以直接使用吗?
3.为何当插上USB同步线后打开串口1就显示串口被占用,拔掉USB同步线后打开串口1就可以成功,这是咋回事?
4.用串口1和电脑的COM1通信,为何没有任何反应呀?
在他们的技术论坛上也问了,好几天才能有答案出来,比较急,在这里看看有没有人用过。如果有用过的帮忙解答解答,谢谢
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #874同步于 2008/7/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
[求助]有谁用过“飞凌ARM2440开发板”
xf198264
2008/7/10镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
下面这些现象是我在做串口试验是出现的,有点不理解,期待帮助:
1.板子通过USB同步线与电脑同步上后,用串口软件打开COM2口就会提示:“串口被占用”。拔掉同步线后,就可以打开COM2口。
2.COM2与电脑的COM1不能通信,无论板子发送还是电脑发送数据,对方都收不到数据。
3.用COM1与电脑通信,用电脑发送数据,在电脑的接受区可以收到数据,板子上收不到,但电脑上收到的数据并不是我发的数据。从板子向电脑发送数据,电脑的接收区偶尔可以收到数据,同样收到的也不是我发的数据。
4.板子的COM1和COM2连接起来后,不能通信。
5.用COM1与电脑连接,板子上不打开串口软件,从电脑向板子发送数据,每发送一次,板子上就会显示一次USB连接电脑的对话框,当板子上打开串口软件后,就会出现第三个现象。
请问,这时我试验方法的问题还是板子上串口的问题?具体是啥问题?比较急呀!谢谢
一楼的几个问题
1.串口0是不是就是COM1,他们分别是啥电平的?TTL?232?
答:串口都是232电平的,从cpu出来是ttl,需要经过串口芯片进行电平转化,一般max3232及类似号码的芯片最为常用
2.三个串口都可以直接使用吗?
答:哪几个串口能用取决于你的系统里有哪几个串口的驱动,一般来讲linux里面的串口驱动一次都会把三个都注册了,但也有可能有一个或者两个不能用,多半是因为本来用作串口的cpu的引脚被复用做了gpio,具体还得参见开发版的手册
3.为何当插上USB同步线后打开串口1就显示串口被占用,拔掉USB同步线后打开串口1就可以成功,这是咋回事?
这个搞不懂,什么四海usb同步线啊,你是在哪里打开串口1?板子的操作系统里?也许跟电路有关呢,这个最好直接打电话过去问
4.用串口1和电脑的COM1通信,为何没有任何反应呀?
答:串口连接线分交叉和直连的,首先保证线对,然后你串口1应该是和pc的com2通信吧,因为你pc总得有个串口给板子作为终端啊.然后你给com2开个超级终端,设置码率,8N1等这些都设置正确,码率设置为跟你debug串口相同,然后在开发版系统里echo abcd>/dev/ttyS1 (串口1的设备名),pc这边应该有反应,没反应的话可以用dmesg|more或者到proc下面看device或者iomem文件看看设备究竟有没有注册上
【 在 xf198264 的大作中提到: 】
: 下面这些现象是我在做串口试验是出现的,有点不理解,期待帮助:
: 1.板子通过USB同步线与电脑同步上后,用串口软件打开COM2口就会提示:“串口被占用”。拔掉同步线后,就可以打开COM2口。
: 2.COM2与电脑的COM1不能通信,无论板子发送还是电脑发送数据,对方都收不到数据。
: ...................
串口连接关键是要码率一致,信号相通就可以,可以用示波器看看,有没有信号,看看超级终端设置的码率对不对?
^_^,补充一下第三个。
3.为何当插上USB同步线后打开串口1就显示串口被占用,拔掉USB同步线后打开串口1就可以成功,这是咋回事?
你同步用得什么软件?ActiveSync有选项使用串口或者使用USB同步,如果使用串口同步的那个选项选中的话你插上连接线它会自动把串口占用。
ps:准版主真敬业 ,哈哈。
【 在 snowbluff 的大作中提到: 】
: ^_^,补充一下第三个。
: 3.为何当插上USB同步线后打开串口1就显示串口被占用,拔掉USB同步线后打开串口1就可以成功,这是咋回事?
: 你同步用得什么软件?ActiveSync有选项使用串口或者使用USB同步,如果使用串口同步的那个选项选中的话你插上连接线它会自动把串口占用。
: ...................
哦,明白了,他一定是wince下用usb线同步,同步的软件activesync会自动占用com1,我都是在任务管理器里把wincomm(好像是这个名字吧)杀死,可能在activesync里设置一下也行,但是没有尝试过
谢谢大家的帮助,其实还是串口驱动有问题。重写了一下串口驱动就OK了。还有就是波特率的设定太小,设置成115200就没问题了。
但现在有个新问题。通过与电脑通信可以证明板子上的两个串口都正常,因为板子上两个串口都是孔的,所以我用两头都是针的串口线把两个串口连接起来,却不能通信。可不可以假设这根线有问题?我这里没用万用表,也测试不了线是否有问题。那位兄弟那里有万用表,借俺用一用。哈哈。。。