请教各位大侠,小弟串口接收到数据却不是发送的
求救各位大侠 小弟最近在做飞思卡尔的摄像头 做一个串口程序发送图像串口初始化
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
求救 谢谢各位大侠了 是不是波特率不匹配,修改一下接收的波特率试试 先发那麽多字节有用吗?
倒不如先发一个特定字节(例如0x55),正确接收後才看看多字节发送。 gallle 发表于 2012-6-3 16:32 static/image/common/back.gif
是不是波特率不匹配,修改一下接收的波特率试试
波特率是9600 57600我也测试过 但是都不行 eblc1388 发表于 2012-6-3 16:41 static/image/common/back.gif
先发那麽多字节有用吗?
倒不如先发一个特定字节(例如0x55),正确接收後才看看多字节发送。 ...
我确实是发送单字节 但是比如说我只发送1 那么可以稳定的接收到7f这个值 很奇怪啊 大家好热心 谢谢 发 0x55 及 0x33,看看接收诘果。 eblc1388 发表于 2012-6-3 16:48 static/image/common/back.gif
发 0x55 及 0x33,看看接收诘果。
0x55接收到是U 正确
0x33接收到是f正常应该是3 本帖最后由 eblc1388 于 2012-6-3 17:12 编辑
"f "= 0 0110 0110 , 0x66 而
"3" =0 1100 1100 , 0x33
位元位移了但保持不变,可以判断为收/发双方波特率有相对比较大的误差。
但误差大也不可能第一位元都收错了,相信波特率可能有倍数的误差。 eblc1388 发表于 2012-6-3 17:06 static/image/common/back.gif
"f "= 0 0110 0110 , 0x66 而
"3" =0 1100 1100 , 0x33
难道还是波特率的问题 我在检查一下 谢谢 polynesia 发表于 2012-6-3 17:11 static/image/common/back.gif
难道还是波特率的问题 我在检查一下 谢谢
同样遇到这个问题了,不知道楼主最后怎么解决的 据经验,多数是波特率的问题,线路上的波形也看看吧
页:
[1]