嵌入式~CH395Q-UDP

该文介绍了如何利用CH395Q网络芯片通过STM32F103进行UDP组播通信。涉及SPI接口设置、多播地址和端口配置、MAC过滤以及DHCP启用。用户需将模块与路由器或交换机连接,并在单片机端发送及接收数据,同时在电脑端通过网络调试助手观察通信效果。
摘要由CSDN通过智能技术生成

网络芯片CH395Q -模块使用Socket0作为UDP组播(多播)通信

这里演示一下模块使用Socket0作为UDP组播(多播)通信

提醒:无论是SPI,USART,并口,程序操作步骤都是一样的!

只是不同的接口发指令发给模块,然后用不同的接收接收数据而已.

测试本节代码(STM32F103xxxx)
1.用户可以使用杜邦线根据自己的情况设置和连接引脚

2,注意!

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

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

3.把模块用网线和路由器或者交换机(和上位机在同一个局域网下)

 注意,连接路由器或者交换机的时候是连接其LAN口. 

 

4.设置多播地址,多播的目的端口号,本地端口号

注:下面还有个广播IP,255.255.255.255 ,是因为执行多播通信需要把UDP的目的地址配置为广播IP

多播MAC地址是为了MAC过滤,后面会讲,用户不需要设置,默认不过滤MAC

5.编译下载到单片机

正常情况会打印模块的IP地址等信息

6.打开电脑端网络调试助手,并配置UDP

 创建以后会每隔一段时间收到单片机控制模块发送的组播信息

7.调试助手发送数据给单片机

单片机程序里面写的是把接收的服务器返回给服务器,并使用串口打印接收的消息

串口会打印上位机的IP地址,本身端口号,还有发送的消息

程序说明
1.初始化UDP

注意: 配置的UDP地址为广播地址: 255.255.255

 2.设置MAC地址过滤

注意:CH395CMDSetMACFilt 函数是设置MAC地址过滤

第一个参数具体含义

我设置的为0x1a, 也就是 0001 1010  意味着不执行MAC过滤

000(保留) 

bit4 = 1(SEND_ENABLE发送使能) 

bit3 = 1(RECV_ENABLE接收使能)

bit1 = 1(RECV_ALL接收所有数据)

3,关于MAC过滤,我也没搞明白这个模块咋用

但是这节吧后面地址对应起来,然后设置为MAC过滤模式有效果

 4.因为是局域网,连接了路由器,所以需要启用DHCP

5.每隔一段时间发送一条多播数据出去

 6.在中断检测事件里面处理Socket相关事件(本例中使用的Socket 0)

 whaosoft aiot http://143ai.com

ARM Cortex-M3是一种广泛应用于嵌入式系统的32位处理器架构。NXP LPC1768是基于ARM Cortex-M3架构的一款微控制器,具有丰富的外设和易于使用的开发环境。 在使用NXP LPC1768进行嵌入式开发实例时,我们需要以下步骤: 1. 硬件准备:准备好NXP LPC1768开发板和必要的连接线材。将开发板连接到计算机,确保正确安装驱动程序。 2. 开发环境设置:ARM Cortex-M3开发使用Keil MDK软件包,下载并安装Keil MDK开发环境。将LPC1768相关文件添加到Keil MDK,并设置正确的编译和调试选项。 3. 编写代码:使用Keil MDK的集成开发环境,我们可以编写C或汇编语言程序来控制LPC1768的外设。例如,可以通过GPIO控制LED灯,通过UART与计算机通信等。 4. 编译和下载:通过Keil MDK编译代码,生成二进制文件。然后,使用编程器将二进制文件下载到LPC1768开发板上。 5. 调试和测试:使用Keil MDK的调试功能,可以在LPC1768上单步执行程序,观察变量的值和寄存器的状态,以确保程序正确运行。 6. 扩展功能:利用LPC1768的丰富外设,我们可以实现各种功能,如通过ADC读取模拟信号,使用PWM控制电机速度等。开发者可以根据具体需求进行相应的硬件和软件开发。 总的来说,ARM Cortex-M3嵌入式开发实例基于NXP LPC1768的开发,需要进行硬件准备、开发环境设置、编写代码、编译和下载、调试和测试等步骤。通过这些步骤,我们可以实现各种功能并开发嵌入式应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值