我的最终目标是通过 PC 上的 GUI 界面控制 PCB 上的许多外围芯片。为此,我的计划是在 PCB 上集成一个 RP2040(和内存),以保存所有 python 脚本并编程/监控所有外围芯片。然后,使用 PC 与 RP2040 接口,通过串口发送命令以在 pico 上执行特定的 python 文件。我意识到这有点令人困惑,所以随附的框图应该会有所帮助。
从框图的左侧开始,我有一台运行 tkinter GUI 的 PC。我目前正在 Thonny 运行 tkinter gui。(最终我希望它成为一个可执行文件,但这超出了本文的范围) gui 有许多按钮可以选择要运行的 python 脚本。PC 通过 USB 电缆连接到 PCB。USB 数据线连接到 RP2040 的 USB 输入(引脚 47,48)。PCB 上的内存包含许多与 GUI 中的按钮相对应的 python 脚本。理想情况下,按下 PC 上的按钮将在 pcb 上执行相应的 py 文件。
到目前为止我所做的工作: 我真正的专长在于外围芯片和 PCB 设计,在这种情况下是 2-18GHz 收发器的前端,如果我的一些 python 问题看起来很基础或有误导性,那么我就这么说吧。我已经编写并测试了 pico 内存中的所有 .py 文件。为了测试这些脚本,我使用 Thonny 连接到我的 pico 并简单地运行 (f5) 脚本,外设连接到正确的 GPIO。我还能够让 tkinter 工作并创建可以执行命令的功能按钮。使用 pyserial 模块,我还可以通过 USB 连接到 pico 并写入...字符串。不是很有用,但是一个开始。
import serial
ser = serial.Serial('COM3', 38400, timeout=1, parity=serial.PARITY_EVEN, rtscts=1)
s = ser.read(100) # read up to one hundred bytes or as much is in the buffer
print(ser.name) # check which port was really used
ser.write(b'ToggleLED.py') # write a string
ser.close() # close port
剩余任务:在过去的 2 天里,我惨败的最后一个任务实际上是尝试通过串行端口执行位于 pico 内存上的 .py 文件。我没有经验/幼稚的想法是简单地发送一个带有文件名的字符串,显然不正确。关于如何使用该 pyserial 模块执行这些 py 文件的任何想法?
BTW,如果有更好的解决方案,请随时分享!也许文件应该位于 PC 上,我一次发送 1 个命令?