bright2307 发表于 2015-7-13 21:18:46

K40/k30结合W5500出现乱码问题~~

本帖最后由 bright2307 于 2015-7-13 21:46 编辑

平台:MK40/MK30   100M         
网络芯片:w5500

硬件:w5500:泥人模块&&对着官方画的小板

接收乱码的那个是移植的泥人的程序,W5500的技术支持说w5500部分的程序没问题。【每次我要发送的字符串就在乱码中间,切换到HEX看的话,从后面数都是正确的字符转化的十六进制】

能PING通但是连不上服务器的,移植的wiznet官方文件,W5500技术支持也说没问题。

所移植的程序都移植到STM32上面试过了,完全没问题~~~希望大家有时间的话帮忙看一看,一个多星期了,每天到十一点半。希望大家帮忙看看,给小弟指点一二~~~

先大概说一下我的思路:

        既然能PING通,那是不是说明SPI配置没有问题?
        发送乱码那个单步调试时觉得获取offset哪里不太正常,但又找不出来

修改:开发环境:KEIL4.5    IAR都可以

bright2307 发表于 2016-9-6 11:53:26

本帖最后由 bright2307 于 2016-9-6 11:54 编辑

结个贴吧:
        调试到最后用逻辑分析仪发现spi通讯的时候,spi的时序前面多出来3个字节,是01、02、03,然后才是传输的内容。屏蔽掉前三个字节就可以了!!三个字节不知道是哪里来的!@

bright2307 发表于 2015-7-13 21:20:11

本帖最后由 bright2307 于 2015-7-13 21:30 编辑

~~~万能的坛友啊,救人一命胜造七级浮屠!!!跪谢~~~

bright2307 发表于 2015-7-13 21:38:10

比如我发送1234567890,就会出现如下这样的文字,重复发送会多次出现一模一样的,还有其他几行一直在变

【瓅?`諏杯垊棼绣b ?踛???踝y+穻难?搒]俣簷?奓極戮皉?殡忳?w@耴~p?j??脟鎾X?[^=洮臃D+u06W抗3砦忽7}LAc-z|%?液埴疒F窯
i醖E煲1234567890覝L&,没??購,籏€捉N齗x垰Le応惬 8?S棼?O]a疀(ni$?骗芮夽$墽麽8G騟S?:撙卫SB?】

不知道以上乱码会不会显示出来~~~

bright2307 发表于 2015-7-13 21:39:21

我觉得这就是在侮辱我,赤裸裸的侮辱~~~~乱码就乱码吧,最后居然还有那三个字符~~~我列个操~~

bright2307 发表于 2015-7-13 22:45:05

收拾东西下班了,,有事没有进展,数据手册看N遍了~~有人下载了,就有希望~~~下班回家!!

bright2307 发表于 2015-7-14 08:24:28

还是木有人,自己顶一顶~~~

bright2307 发表于 2015-7-14 11:06:57

大神帮忙看下SPI读取数据那里有没有问题~~~~

BigWolf 发表于 2015-7-16 17:09:56

用16进制打印,看看是什么字符,可以移植一下下面的程序看看。

傻彪5213 发表于 2015-7-16 17:28:02

你看一下 串口波特率是否和程序一致。附件是TCP_Server例程,您可以参考一下。

bright2307 发表于 2015-8-17 16:05:41

BigWolf 发表于 2015-7-16 17:09
用16进制打印,看看是什么字符,可以移植一下下面的程序看看。

用十六进制显示的话,最后的那些就是我要发送的正确字符的码

bright2307 发表于 2015-8-17 16:06:20

傻彪5213 发表于 2015-7-16 17:28
你看一下 串口波特率是否和程序一致。附件是TCP_Server例程,您可以参考一下。 ...

没用串口,直接在tcp调试终端上显示的

337zhang 发表于 2016-12-22 11:57:03

bright2307 发表于 2016-9-6 11:53
结个贴吧:
        调试到最后用逻辑分析仪发现spi通讯的时候,spi的时序前面多出来3个字节,是01、02、03,然后 ...

我用的也是泥人的W5500模块,也是接收的时候出现了乱码,继续发能恢复正常,但是过会还是会出现乱码


你说的屏蔽前3个字节是下面SPI1_Send_Byte屏蔽掉前三个,直接从第四个开始写?

void Write_W5500_SOCK_4Byte(SOCKET s, unsigned short reg, unsigned char *dat_ptr)
{
        GPIO_ResetBits(W5500_SCS_PORT, W5500_SCS);
                       
        SPI1_Send_Short(reg);
        SPI1_Send_Byte(FDM4|RWB_WRITE|(s*0x20+0x08));

        SPI1_Send_Byte(*dat_ptr++);//写第一个字节
        SPI1_Send_Byte(*dat_ptr++);//写第二个字节
        SPI1_Send_Byte(*dat_ptr++);//写第三个字节
        SPI1_Send_Byte(*dat_ptr++);//写第四个字节

        GPIO_SetBits(W5500_SCS_PORT, W5500_SCS);
}

337zhang 发表于 2016-12-22 13:53:04

337zhang 发表于 2016-12-22 11:57
我用的也是泥人的W5500模块,也是接收的时候出现了乱码,继续发能恢复正常,但是过会还是会出现乱码




解决了,是有个SPI芯片干扰了,换了个核心板后正常了~{:lol:}

我是一个大白菜 发表于 2018-10-31 10:27:48

楼主你遇到跟我一样的问题,希望对后面的人有用。我当初使用SPI Mode3会导致和楼主一样的,接收发送数据乱码的问题。后来我改成SPI Mode0 问题就解决了,应该还是SPI模式的问题
页: [1]
查看完整版本: K40/k30结合W5500出现乱码问题~~