极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12619|回复: 6

跪求arduino与8位飞思卡尔单片机通信问题

[复制链接]
发表于 2016-9-22 15:00:24 | 显示全部楼层 |阅读模式
我想通过arduino控制板得到的超声波传感器距离信息通过串口TX,RX发送给飞思卡尔MC9S08DZ60单片机,使用飞思卡尔单片机自带的SCI接收程序,调试界面只显示收到的距离信息都为 unsigned char 10,非常郁闷。我试着改变了arduino发送距离信息为二进制,十六进制都不行,后来在论坛里看到arduino串口发送的是TTL电平,而SCI通信属于232通信协议,因此在网上购买了RS232转换TTL的芯片,更是接收不到数据。如果直接用arduino给飞思卡尔单片机发送数据,还显示接收数据从0变化为unsigned char 10。求大神帮我啊,本人学习的车辆工程专业,对电子没有什么基础,都是自己慢慢看的,因此进度非常缓慢,跪求大神指点啊,非常感谢。下边是arduino的输出,请问有什么问题,这样输出出来的距离是占多少个字节的?貌似串口一次只能发送一位,快疯啦。。。真是不懂。。。。

                              
  Serial.println(range, DEC);                              
                                    
回复

使用道具 举报

 楼主| 发表于 2016-9-22 16:29:29 | 显示全部楼层
使用串口调试助手电脑给飞思卡尔单片机发送数据就可以收到,同时arduino发送的数据串口调试助手也可以显示,但是两个板子进行通信就是不行啊,求解。。。。
回复 支持 反对

使用道具 举报

发表于 2016-9-22 17:54:21 | 显示全部楼层
首先要确保,两块板子的串口参数一致,如:波特率,停止位,校验位,数据位这些参数,然后可以试一下把SCI转换好后的TTL电平输出到电脑上,用串口助手看一下能不能收到,如果可以收到且正确,再将两块板子连接起来,另外,Arduino的串口发送用Serial.write()发送,因为Serial.print发送的是字符串数据。
回复 支持 反对

使用道具 举报

发表于 2016-9-22 17:55:15 | 显示全部楼层
Serial.write(数据):数据大小一个字节
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-22 18:53:50 | 显示全部楼层
u0uuuu 发表于 2016-9-22 17:54
首先要确保,两块板子的串口参数一致,如:波特率,停止位,校验位,数据位这些参数,然后可以试一下把SCI ...

哦哦,酱紫啊,波特率是一样,都是9600,数据位目前还没有搞清楚,飞思卡尔例程里边每次只能发送一位数据,如果发送多位则只能收到多位数据的最后一位,而且发送的数据默认为是ASCII码格式的,很烦。根据芯片资料上写的,应该是设置的接收8位数据。。。。我用Serial.write()试试,多谢啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-22 20:09:41 | 显示全部楼层
u0uuuu 发表于 2016-9-22 17:55
Serial.write(数据):数据大小一个字节

还有,电脑串口默认的是RS232吧,我测量了电脑串口TX,RX的电压,2引脚没有,3引脚是-11V,但我买这个转换芯片测到2引脚是-7.5V,3引脚没有,一脸懵逼啊,可能买的这个转换芯片有问题。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-4 12:22 , Processed in 0.038421 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表