## serial\_widget\_t
### 概述
![image](images/serial_widget_t_0.png)
用于串口通信的控件
在xml中使用"serial"标签创建控件。如:
```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修改 | 是 |