模板: UART TO ETH for STM32 use
来自Waveshare Wiki
我们提供的例程是基于STM32F103RBT6的,提供的连接方式也是对应的STM32F103RBT6的引脚,如果有需要移植程序,请按实际引脚连接
硬件连接
ETH | STM32 |
5V | 5V |
GND | GND |
RXD1 | PC10 |
TXD1 | PC11 |
CFG0 | PC12 |
RST1 | PD2 |
软件说明
例程是基于HAL库进行开发的。
请在资料里面下载程序,找到STM32程序文件目录,打开STM32\Serial_Port_Parameter_Configuration\MDK-ARM
目录下的CH9121.uvprojx,即可看到程序。
打开main.c,可以看到可由用户修改的程序,跟你自己的需求修改对应的参数,再重新编译下载即可。
(该函数主要是用来进行串口参数配置,如果使用上位机配置,则直接运行RX_TX文件里面的程序,可测试数据收发,是否会丢包等等)
参数配置好后,将RX_TX文件夹里面的程序下载到STM32里。
下载成功后,运行SSCOM连接ETH模块,就可以给ETH发送数据啦,ETH会返回你发送给它的所有东西。
代码简析
- 本程序只进行了简单的配置,如需配置其他功能可查阅串口控制命令,自行配置即可:
uint8_t CH9121_Mode //模式选择 uint8_t CH9121_LOCAL_IP[4] //本地IP uint8_t CH9121_GATEWAY[4] //网关 uint8_t CH9121_SUBNET_MASK[4] //子网掩码 uint8_t CH9121_TARGET_IP[4] //目标IP uint16_t CH9121_PORT1 //本地端口 uint16_t CH9121_TARGET_PORT //目标端口 uint32_t CH9121_BAUD_RATE //串口波特率
- 根据串口控制命令合理利用下面函数可进行参数配置:
void CH9121_TX_4_bytes(UCHAR data, int command); //用于模式、是否随机端口、端口是否断开网络连接、是否清空串口数据、是否开启DHCP、是否开启串口2 void CH9121_TX_5_bytes(UWORD data, int command);//用于设置串口的端口号 void CH9121_TX_7_bytes(UCHAR data[], int command);//用于设置IP、子网掩码、网关 void CH9121_TX_BAUD(UDOUBLE data, int command);//用于设置串口的波特率 void CH9121_Eed(); //更新配置参数至 EEPROM、执行配置,复位 9121、离开配置模式