查看: 6674|回复: 8

[求助] MK40和W5500结合的程序,上位机接收有乱码(求助攻)

[复制链接]

该用户从未签到

6

主题

36

帖子

0

注册会员

Rank: 2

积分
192
最后登录
2018-5-7
发表于 2015-7-3 14:58:11 | 显示全部楼层 |阅读模式
本帖最后由 xiaomizhouzhou 于 2015-7-10 15:03 编辑

已经实现了连接服务器。上位机接受有乱码。谁用得到的话,也顺便帮忙看下~~~现在真是无从下手了
2015.0710--恳请各位帮忙看一下,w5500的技术支持说w5500的操作没问题,这里我真的不 明白了~~~~在K30和K40板子上面都不行啊~~~~
有乱码,但是乱码中间夹着我需要发送的字符。试过几个上位机了,
我知道答案 目前已有8人回答

SPI_Master_W5500(有乱码).zip

1017.26 KB, 下载次数: 8, 下载积分: 威望 1

回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16714
    最后登录
    1970-1-1
    发表于 2015-7-3 17:18:14 | 显示全部楼层
    你串口有中文么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    36

    帖子

    0

    注册会员

    Rank: 2

    积分
    192
    最后登录
    2018-5-7
     楼主| 发表于 2015-7-6 16:30:08 | 显示全部楼层
    lkl0305 发表于 2015-7-3 17:18
    你串口有中文么?

    我没有用到串口~~,且发送的是数字。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    36

    帖子

    0

    注册会员

    Rank: 2

    积分
    192
    最后登录
    2018-5-7
     楼主| 发表于 2015-7-10 15:11:52 | 显示全部楼层
    求助啊,帮忙看下spi发送和接收的函数对不对~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    36

    帖子

    0

    注册会员

    Rank: 2

    积分
    192
    最后登录
    2018-5-7
     楼主| 发表于 2015-7-10 15:18:37 | 显示全部楼层
                                    memcpy(Tx_Buffer, "1234567890", 10);       
                                    Write_SOCK_Data_Buffer(0, Tx_Buffer, 10);//指定Socket(0~7)发送数据处理,端口0发送23字节数据


    /*******************************************************************************
    * 函数名  : Write_SOCK_Data_Buffer
    * 描述    : 将数据写入W5500的数据发送缓冲区
    * 输入    : s:端口号,*dat_ptr:数据保存缓冲区指针,size:待写入数据的长度
    * 输出    : 无
    * 返回值  : 无
    * 说明    : 无
    *******************************************************************************/
    void Write_SOCK_Data_Buffer(SOCKET s, INT8U *dat_ptr, unsigned short size)
    {
            unsigned short offset,offset1;
            unsigned short i;
            offset=Read_W5500_SOCK_2Byte(s,Sn_TX_WR);
            offset1=offset;
            offset&=(S_TX_SIZE-1);//计算实际的物理地址

            SPI_CS_LOW();//置W5500的SCS为低电平

            SPI1_Send_Short(offset);//写16位地址
            Send_Byte(VDM|RWB_WRITE|(s*0x20+0x10));//写控制字节,N个字节数据长度,写数据,选择端口s的寄存器

            if((offset+size)<S_TX_SIZE)//如果最大地址未超过W5500发送缓冲区寄存器的最大地址
            {
                    for(i=0;i<size;i++)//循环写入size个字节数据
                    {
                            Send_Byte(*dat_ptr++);//写入一个字节的数据               
                    }
            }
            SPI_CS_HIGH(); //置W5500的SCS为高电平

            offset1+=size;//更新实际物理地址,即下次写待发送数据到发送数据缓冲区的起始地址
            Write_W5500_SOCK_2Byte(s, Sn_TX_WR, offset1);
            Write_W5500_SOCK_1Byte(s, Sn_CR, SEND);//发送启动发送命令                               
    }

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    36

    帖子

    0

    注册会员

    Rank: 2

    积分
    192
    最后登录
    2018-5-7
     楼主| 发表于 2015-7-12 22:22:14 | 显示全部楼层
    求助啊~~~
    回复

    使用道具 举报

    该用户从未签到

    6

    主题

    36

    帖子

    0

    注册会员

    Rank: 2

    积分
    192
    最后登录
    2018-5-7
     楼主| 发表于 2015-7-14 10:59:04 | 显示全部楼层
    帮忙看下SPI读数据那里有没有问题~~~谢啦~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    6
    最后登录
    2019-12-17
    发表于 2019-12-17 01:26:18 | 显示全部楼层
    楼主怎么解决的   
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    3
    最后登录
    2024-7-31
    发表于 2024-7-31 10:26:39 | 显示全部楼层
    解决了吗?
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-27 16:59 , Processed in 0.108790 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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