## serial\_widget\_t ### 概述 ![image](images/serial_widget_t_0.png) 用于串口通信的控件 在xml中使用"serial"标签创建控件。如: ```xml ``` 可用通过style来设置控件的显示风格,如字体的大小和颜色等等。如: > 本控件默认不可见,无需指定style。 ```xml ``` ---------------------------------- ### 函数

| 函数名称 | 说明 | | -------- | ------------ | | serial\_widget\_cast | 转换为serial_widget对象(供脚本语言使用)。 | | serial\_widget\_create | 创建serial_widget对象 | | serial\_widget\_get\_widget\_vtable | 获取 serial_widget 虚表。 | | serial\_widget\_set\_baudrate | 设置 波特率。 | | serial\_widget\_set\_bytesize | 设置 字节位数。 | | serial\_widget\_set\_check\_interval | 设置 轮询时间(毫秒)。 | | serial\_widget\_set\_device | 设置 设备。 | | serial\_widget\_set\_flowcontrol | 设置 流控。 | | serial\_widget\_set\_parity | 设置 奇偶校验。 | | serial\_widget\_set\_stopbits | 设置 停止位。 | ### 属性

| 属性名称 | 类型 | 说明 | | -------- | ----- | ------------ | | baudrate | uint32\_t | 波特率。 | | bytesize | uint32\_t | 字节位数。 | | check\_interval | uint32\_t | 轮询时间(单位:ms)。 | | device | char* | 设备(文件)名。 | | flowcontrol | uint32\_t | 流控。 | | iostream | tk\_iostream\_t* | 输入/出流。 | | istream | tk\_istream\_t* | 输入流。 | | ostream | tk\_ostream\_t* | 输出流。 | | parity | uint32\_t | 奇偶校验。 | | stopbits | uint32\_t | 停止位。 | ### 事件

| 事件名称 | 类型 | 说明 | | -------- | ----- | ------- | | EVT\_DATA | event\_t | 数据到来事件。 | #### serial\_widget\_cast 函数 ----------------------- * 函数功能: >

转换为serial_widget对象(供脚本语言使用)。 * 函数原型: ``` widget_t* serial_widget_cast (widget_t* widget); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | widget\_t* | serial\_widget对象。 | | widget | widget\_t* | serial\_widget对象。 | #### serial\_widget\_create 函数 ----------------------- * 函数功能: >

创建serial_widget对象 * 函数原型: ``` widget_t* serial_widget_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | widget\_t* | serial\_widget对象。 | | parent | widget\_t* | 父控件 | | x | xy\_t | x坐标 | | y | xy\_t | y坐标 | | w | wh\_t | 宽度 | | h | wh\_t | 高度 | #### serial\_widget\_get\_widget\_vtable 函数 ----------------------- * 函数功能: >

获取 serial_widget 虚表。 * 函数原型: ``` const widget_vtable_t* serial_widget_get_widget_vtable (); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | const widget\_vtable\_t* | 成功返回 serial\_widget 虚表。 | #### serial\_widget\_set\_baudrate 函数 ----------------------- * 函数功能: >

设置 波特率。 * 函数原型: ``` ret_t serial_widget_set_baudrate (widget_t* widget, uint32_t baudrate); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | baudrate | uint32\_t | 波特率。 | #### serial\_widget\_set\_bytesize 函数 ----------------------- * 函数功能: >

设置 字节位数。 * 函数原型: ``` ret_t serial_widget_set_bytesize (widget_t* widget, uint32_t bytesize); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | bytesize | uint32\_t | 字节位数。 | #### serial\_widget\_set\_check\_interval 函数 ----------------------- * 函数功能: >

设置 轮询时间(毫秒)。 * 函数原型: ``` ret_t serial_widget_set_check_interval (widget_t* widget, uint32_t check_interval); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | check\_interval | uint32\_t | 轮询时间(单位:ms)。 | #### serial\_widget\_set\_device 函数 ----------------------- * 函数功能: >

设置 设备。 * 函数原型: ``` ret_t serial_widget_set_device (widget_t* widget, const char* device); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | device | const char* | 设备。 | #### serial\_widget\_set\_flowcontrol 函数 ----------------------- * 函数功能: >

设置 流控。 * 函数原型: ``` ret_t serial_widget_set_flowcontrol (widget_t* widget, uint32_t flowcontrol); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | flowcontrol | uint32\_t | 流控。 | #### serial\_widget\_set\_parity 函数 ----------------------- * 函数功能: >

设置 奇偶校验。 * 函数原型: ``` ret_t serial_widget_set_parity (widget_t* widget, uint32_t parity); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | parity | uint32\_t | 奇偶校验。 | #### serial\_widget\_set\_stopbits 函数 ----------------------- * 函数功能: >

设置 停止位。 * 函数原型: ``` ret_t serial_widget_set_stopbits (widget_t* widget, uint32_t stopbits); ``` * 参数说明: | 参数 | 类型 | 说明 | | -------- | ----- | --------- | | 返回值 | ret\_t | 返回RET\_OK表示成功,否则表示失败。 | | widget | widget\_t* | widget对象。 | | stopbits | uint32\_t | 停止位。 | #### baudrate 属性 ----------------------- >

波特率。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可脚本化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### bytesize 属性 ----------------------- >

字节位数。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可脚本化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### check\_interval 属性 ----------------------- >

轮询时间(单位:ms)。 > 仅在不支持用select等待串口数据的嵌入式设备上有效。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可脚本化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### device 属性 ----------------------- >

设备(文件)名。 * 类型:char* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可脚本化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### flowcontrol 属性 ----------------------- >

流控。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可脚本化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### iostream 属性 ----------------------- >

输入/出流。 * 类型:tk\_iostream\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### istream 属性 ----------------------- >

输入流。 * 类型:tk\_istream\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### ostream 属性 ----------------------- >

输出流。 * 类型:tk\_ostream\_t* | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### parity 属性 ----------------------- >

奇偶校验。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可脚本化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 | #### stopbits 属性 ----------------------- >

停止位。 * 类型:uint32\_t | 特性 | 是否支持 | | -------- | ----- | | 可直接读取 | 是 | | 可直接修改 | 否 | | 可持久化 | 是 | | 可脚本化 | 是 | | 可在IDE中设置 | 是 | | 可在XML中设置 | 是 | | 可通过widget\_get\_prop读取 | 是 | | 可通过widget\_set\_prop修改 | 是 |