搜索
bottom↓
回复: 11

请教各位大侠,小弟串口接收到数据却不是发送的

[复制链接]

出0入0汤圆

发表于 2012-6-3 16:25:02 | 显示全部楼层 |阅读模式
求救各位大侠 小弟最近在做飞思卡尔的摄像头 做一个串口程序发送图像
串口初始化
SCI0SR2=0X00;
SCI0BD=0x0138;
SCI0CR2=0X08;
SCI0CR1=0X00;
发送程序
if(k<254)
   {
   while(SCI0SR1_TC) {
    k++;
   SCI0DRL=k;
   delay();
但接收到的却很奇怪
例如 发送1 接收到的是7f
       发送2 接收到的是3f
       发送3 接受到的是7e
下面是发送1-k
接收到的hex值
7F 3F 7E 1F 7D 3E 7C 0F 7B 3D 7A 1E 79 3C 78 07 77 3B 76 1D 75 3A 74 0E 73 39 72 1C 71 38 70 03 6F 37 6E 1B 6D 36 6C 0D 6B 35 6A 1A 69 34 68 06 67 33 66 19 65 32 64 0C 63 31 62 18 61 30 60 01 5F 2F 5E 17 5D 2E 5C 0B 5B 2D 5A 16 59 2C 58 05 57 2B 56 15 55 2A 54 0A 53 29 52 14 51 28 50 02 4F 27 4E 13 4D 26 4C 09 4B 25 4A 12 49 24 48 04 47 23 46 11 45 22 44 08 43 21 42 10 41 20 40 00 3F 1F 3E 0F 3D 1E 3C 07 3B 1D 3A 0E 39 1C 38 03 37 1B 36 0D 35 1A 34 06 33 19 32 0C 31 18 30 01 2F 17 2E 0B 2D 16 2C 05 2B 15 2A 0A 29 14 28 02 27 13 26 09 25 12 24 04 23 11 22 08 21 10 20 00 1F 0F 1E 07 1D 0E 1C 03 1B 0D 1A 06 19 0C 18 01 17 0B 16 05 15 0A 14 02 13 09 12 04 11 08 10 00 0F 07 0E 03 0D 06 0C 01 0B 05 0A 02 09 04 08 00 07 03 06 01 05 02 04 00 03 01 02 00 01 00 00 00 7F 3F 7E 1F 7D 3E 7C 0F 7B 3D 7A 1E 79 3C 78 07 77 3B 76 1D 75 3A 74 0E 73 39 72 1C 71 38 70 03 6F 37 6E 1B 6D 36 6C 0D 6B 35 6A 1A 69 34 68 06 67 33 66 19 65 32 64 0C 63 31 62 18 61 30 60 01 5F 2F 5E 17 5D 2E 5C 0B 5B 2D 5A 16 59 2C 58 05 57 2B 56 15 55 2A 54 0A 53 29 52 14 51 28 50 02 4F 27 4E 13 4D 26 4C 09 4B 25 4A 12 49 24 48 04 47 23 46 11 45 22 44 08 43 21 42 10 41 20 40 00 3F 1F 3E 0F 3D 1E 3C 07 3B 1D 3A 0E 39 1C 38 03 37 1B 36 0D 35 1A 34 06 33 19 32 0C 31 18 30 01 2F 17 2E 0B 2D 16 2C 05 2B 15 2A 0A 29 14 28 02 27 13 26 09 25 12 24 04 23 11 22 08 21 10 20 00 1F 0F 1E 07 1D 0E 1C 03 1B 0D 1A 06 19 0C 18 01 17 0B 16 05 15 0A 14 02 13 09 12 04 11 08 10 00 0F 07 0E 03 0D 06 0C 01 0B 05 0A 02 09 04 08 00 07 03 06 01 05
求救 谢谢各位大侠了

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入96汤圆

发表于 2012-6-3 16:32:07 | 显示全部楼层
是不是波特率不匹配,修改一下接收的波特率试试

出0入0汤圆

发表于 2012-6-3 16:41:47 | 显示全部楼层
先发那麽多字节有用吗?

倒不如先发一个特定字节(例如0x55),正确接收後才看看多字节发送。

出0入0汤圆

 楼主| 发表于 2012-6-3 16:42:30 | 显示全部楼层
gallle 发表于 2012-6-3 16:32
是不是波特率不匹配,修改一下接收的波特率试试

波特率是9600 57600我也测试过 但是都不行

出0入0汤圆

 楼主| 发表于 2012-6-3 16:43:16 | 显示全部楼层
eblc1388 发表于 2012-6-3 16:41
先发那麽多字节有用吗?

倒不如先发一个特定字节(例如0x55),正确接收後才看看多字节发送。 ...

我确实是发送单字节 但是比如说我只发送1 那么可以稳定的接收到7f这个值 很奇怪啊

出0入0汤圆

 楼主| 发表于 2012-6-3 16:44:23 | 显示全部楼层
大家好热心 谢谢

出0入0汤圆

发表于 2012-6-3 16:48:52 | 显示全部楼层
发 0x55 及 0x33,看看接收诘果。

出0入0汤圆

 楼主| 发表于 2012-6-3 16:53:58 | 显示全部楼层
eblc1388 发表于 2012-6-3 16:48
发 0x55 及 0x33,看看接收诘果。

0x55接收到是U 正确
0x33接收到是f  正常应该是3

出0入0汤圆

发表于 2012-6-3 17:06:03 | 显示全部楼层
本帖最后由 eblc1388 于 2012-6-3 17:12 编辑

"f "= 0 0110 0110 , 0x66 而
"3" =0 1100 1100 , 0x33

位元位移了但保持不变,可以判断为收/发双方波特率有相对比较大的误差。

但误差大也不可能第一位元都收错了,相信波特率可能有倍数的误差。

出0入0汤圆

 楼主| 发表于 2012-6-3 17:11:48 | 显示全部楼层
eblc1388 发表于 2012-6-3 17:06
"f "= 0 0110 0110 , 0x66 而
"3" =0 1100 1100 , 0x33

难道还是波特率的问题 我在检查一下 谢谢

出0入0汤圆

发表于 2013-5-17 15:32:26 | 显示全部楼层
polynesia 发表于 2012-6-3 17:11
难道还是波特率的问题 我在检查一下 谢谢

同样遇到这个问题了,不知道楼主最后怎么解决的

出0入0汤圆

发表于 2013-5-17 15:52:27 | 显示全部楼层
据经验,多数是波特率的问题,线路上的波形也看看吧
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-28 19:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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