您可以对照以下表格连线。
ETH | Pico | 功能 |
5V | VSYS | 电源输入 |
GND | GND | 电源地 |
RXD1 | GP0 | 串行数据输入 |
TXD1 | GP1 | 串行数据输出 |
RXD2 | GP4 | 串行数据输入 |
TXD2 | GP5 | 串行数据输出 |
CFG0 | GP14 | 网络配置使能脚 |
RST1 | GP17 | 复位 |
1. 树莓派环境设置请点击查阅链接
2. Windows环境设置请点击查阅链接
打开树莓派终端,执行:
从我们官网下载。
- sudo apt-get install p7zip-full
- cd ~
- sudo wget https://www.waveshare.net/w/upload/2/28/2-CH UART TO ETH_CODE.7z
- 7z x Pico_ETH_CH9121_CODE.7z -o./2-CH UART TO ETH_CODE
- cd ~/2-CH UART TO ETH_CODE
- cd Pico/c/build/
进行编译,请确保在c目录:
- cd ~/2-CH UART TO ETH_CODE/Pico/C/
2-CH UART TO ETH_CODE/Pico/C/Serial Port Parameter Configuration:用来通过串口配置模式。
2-CH UART TO ETH_CODE/Pico/C/RX_TX:用来进行信息收发,收到什么返回什么。
进入其中一个文件夹中创建并进入build目录,并添加SDK: 其中 ../../pico-sdk 是你的SDK的目录。 我们示例程序中是有build的,直接进入即可
- cd build
- export PICO_SDK_PATH=../../pico-sdk
- (注意:务必写对你自己的SDK所在路径)
执行cmake自动生成Makefile文件
- cmake ..
执行make生成可执行文件,第一次编译时间比较久
- make -j9
编译完成,会生成uf2文件。 按住Pico板上的按键,将pico通过Micro USB线接到树莓派的USB接口,然后松开按键。接入之后,树莓派会自动识别到一个可移动盘(RPI-RP2),将build文件夹下的main.uf2 文件复制到识别的可移动盘(RPI-RP2)中即可。
- cp main.uf2 /media/pi/RPI-RP2/
本例程提供了两个程序:
Serial Port Parameter Configuration.py:该程序用来通过串口配置模式。
RX_TX.py:这个用来进行信息收发,收到什么返回什么。
以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口
如图所示:
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE
- sudo apt upgrade thonny
3.点击File->Open...->python/RX_TX.py,运行脚本即可
通过串口配置参数(根据你的需求进行修改即可):
- #define UCHAR unsigned char
- #define UBYTE uint8_t
- #define UWORD uint16_t
- #define UDOUBLE uint32_t
- void CH9121_init(void);
- UCHAR CH9121_Mode //模式选择
- UCHAR CH9121_LOCAL_IP[4] //本地IP
- UCHAR CH9121_GATEWAY[4] //网关
- UCHAR CH9121_SUBNET_MASK[4] //子网掩码
- UCHAR CH9121_TARGET_IP[4] //目标IP
- UWORD CH9121_PORT1 //本地端口
- UWORD CH9121_TARGET_PORT //目标端口
- UDOUBLE 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、离开配置模式
用户只需修改Serial Port Parameter Configuration.py里面如下所示的值,就可以对模块进行串口参数配置:
- MODE = 1 #0:TCP Server 1:TCP Client 2:UDP Server 3:UDP Client
- GATEWAY = (169, 254, 88, 1) # GATEWAY
- TARGET_IP = (169, 254, 88, 17)# TARGET_IP
- LOCAL_IP = (169,254,88,70) # LOCAL_IP
- SUBNET_MASK = (255,255,255,0) # SUBNET_MASK
- LOCAL_PORT1 = 5000 # LOCAL_PORT1
- LOCAL_PORT2 = 4000 # LOCAL_PORT2
- TARGET_PORT = 3000 # TARGET_PORT
- BAUD_RATE = 115200 # BAUD_RATE