优秀作品

# 例程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中

    }

0