# 例程3:串口收发,调试该程序,需要事先用数据线连接两个串口,并对两个串口进行配置,两个端口的波特率要相同。
gui = GUI() # 定义一个GUI对象
#gui.HideConsoleWindow() # 隐藏控制台窗口
serial = SERIAL("COM7",9600)
title = "串口收发" # Fine窗口标题
Size = [20,10,80,30] # 指定窗口位置和宽度高度
edit = ["发送数据","edit","s",12,2,60,4]
button = [" 发送 ","button",3,4.5,8,1]
textbox = ["","textbox","N",12,8,42,12]
list = [title,Size,edit,button,textbox] # 将设计的窗口元素打包成一个列表
num = gui.Fine(list) # 创建Fine窗口,并返回窗口资源ID号
while gui.FineClosed(num) != -1 # 循环检测窗口关闭消息,如果gui.FineClosed(id) = -1表明窗口已关闭
{
PowerDown(3) # 低功耗设置
if gui.FineReady(num) == 0 # 如果点击了“发送”按钮
{
x = gui.FineRead(num) # x是个列表,第一项是指令,这里就是发送指令,第二项是edit录入数据
bytesWritten = serial.Write(x[1],len(x[1])) # 串口发送
str = "发送数据:" + x[1] + "\n"
gui.SendTextbox(num,[str]) # 显示在textbox中
gui.SendEdit(num,[""]) # 清空edit控件
}
if serial.IsReady() == 0 # 串口收到数据
{
data = serial.Read()
str = "接收数据:" + data[1] + "\n"
gui.SendTextbox(num,[str]) # 显示在textbox中
}
}