zoukankan      html  css  js  c++  java
  • 2-网络芯片CH395Q学习开发-学习资料说明,测试通信,获取硬件版本,获取设备本身MAC,代码移植说明

    <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH395Q" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

    资料说明

    首先说明一下学习资料源码,在资料中有51单片机,stm32相关的例程.

    用户可根据自己的情况选择使用.

    说明

    我提供的例程是作为具体的讲解使用.默认以SPI通信为主.

    提供的代码是使用STM32F103单片机编写的.

    测试下这节的程序

    1.用户可以使用杜邦线根据自己的情况设置和连接引脚

     

    2,注意!

    要想模块使用SPI通信,模块的TX引脚需要在模块重启之前设置为低电平.

    上面的引脚分配把模块的TX引脚接到了单片机的PA3上,也就是串口2的RX上,如果用户使用了串口2,请注意!

    3.打开这节的程序

    这一节测试使用SPI方式和模块进行通信,然后获取模块的芯片版本

     

     

     

    4,我使用测试板进行测试

    5,把程序下载到开发板,监控下单片机串口1打印的信息

    注:也可能打印46..... 版本不一样

    关于版本号

    不同的版本号功能上有差异,版本号越高越好

    50910E227  代表  版本2

    50910E228  代表  版本4

    推荐购买228或大于此数字的芯片.也就是4版本及其以上

    版本功能主要差异:

    假设使用芯片作为TCP服务器.

    4版本及其以上的芯片支持多路TCP客户端连接其TCP服务器.

    4版本以下的芯片只支持单路TCP客户端连接其TCP服务器

    CH395Q获取可以通过 CMD_GET_GLOB_INT_STATUS 和 CMD_GET_GLOB_INT_STATUS_ALL 两个命令来获取中断状态,

    前者只能获取到低 8 位的中断状态,后者可以获取全部的中断状态,使用时需要注意,任何版本的芯片都支持 CMD_GET_GLOB_INT_STATUS 命令,

    如果芯片版本号大于等于 0X44 且使用了Socke4– Socke7 则只能用 CMD_GET_GLOB_INT_STATUS_ALL。

    芯片版本号小于 0X44 不支持CMD_GET_GLOB_INT_STATUS_ALL 命令。

    关于设备MAC地址 

    CH395 芯片出厂时已经烧录了由 IEEE 分配的 MAC 地址,MAC地址全球唯一.如非必要请勿设置 MAC 地址
    一旦设置了MAC,则无法找回!
    用户可以使用 CH395CMDGetMACAddr 获取其内部MAC地址.

    程序移植使用说明

    1.把以下文件夹放到自己的工程

     

    2.添加个分组,分组里面添加CH395SPI.C和CH395CMD.C文件;  包含头文件路径

     

    3.根据自己的情况替换延时函数

    4.如果用户使用的STM32F103系列的单片机的是硬件SPI,只需要修改这个地方即可

    5.如果用户使用的其它型号的单片机,还需要替换后面程序

    6.如果用户使用的其它型号的单片机,根据自己的情况修改引脚初始化

     

    提示: SPI通信方式 CPOL=0, CPHA=1

    CLK空闲状态为低电平,在第二个沿开始采集数据

    7.如果用户使用的其它型号的单片机,根据自己的情况修改SPI函数

    8.根据下面的步骤测试即可

    9.关于文件

    红框内的是通用文件,咱和模块通信调用的就是CH395CMD.C里面的函数

    然后CH395CMD.C里面的函数再调用绿框里面的SPI接口文件和模组进行通信.

    蓝框是代表不同的通信方式封装的文件,当前并没有用到.也并未编写完整并不能使用...

    PARA : 并口

    SPI_SW: 模拟SPI

    UART: 串口 

    如果使用其它通信方式,修改完通信方式文件以后,记得在CH395CMD.C里面包含接口函数头文件

  • 相关阅读:
    day 13 闭包函数,装饰器,迭代器
    day12 可变长参数、函数对象、函数的嵌套、名称空间和作用域
    day11 文件的高级应用、文件修改的两种方式、函数的定义、函数的三种定义方式、函数的调用、函数的返回值、函数的参数
    数字类型内置方法
    基本语法之for循环
    基本语法之while循环
    python基本语法(3)
    python基本语法(2)
    python基本语法(1)
    编程及计算机组成
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/14850537.html
Copyright © 2011-2022 走看看