MatlabGUI,带字符输出的滑块
我想让一个GUI有一个滑块,这个滑块的值将被用来传输串行数据到PIC微控制器 滑块的输出值必须是字符或字符串MatlabGUI,带字符输出的滑块,matlab,user-interface,slider,serial-port,matlab-guide,Matlab,User Interface,Slider,Serial Port,Matlab Guide,我想让一个GUI有一个滑块,这个滑块的值将被用来传输串行数据到PIC微控制器 滑块的输出值必须是字符或字符串 如何在MatlabGUI中定义enter code here变量 如何知道滑块输出值的类型?(int,char,…) 代码: 一般来说,滑块的输出值将具有int类型。我希望是int,因为滑块的性质是沿着某种递增/递减的数字滑动 您还可以使用matlab中的“class()”函数来确定变量的类别 此外,通过在滑块的回调例程中指定滑块,可以使滑块提供所需的任何输出 一般来说,滑块的输出值将具
一般来说,滑块的输出值将具有int类型。我希望是int,因为滑块的性质是沿着某种递增/递减的数字滑动 您还可以使用matlab中的“class()”函数来确定变量的类别
此外,通过在滑块的回调例程中指定滑块,可以使滑块提供所需的任何输出 一般来说,滑块的输出值将具有int类型。我希望是int类型,因为滑块的性质是沿着某种类型的递增/递减数字滑动 您还可以使用matlab中的“class()”函数来确定变量的类别 此外,通过在滑块的回调例程中指定滑块,可以使滑块提供所需的任何输出 有用信息:
Value
属性的类型是它当前具有的标量值。该值将介于Min
和Max
之间,分别默认为0和1。您是否将这些设置为其他值?标量值可能采用双精度表示,因此需要转换为字符串:
将其放入init部分(从0到100的滑块):
在您的回调例程中:
s = serial('COM7');
slider_value = get(handles.slider3, 'Value');
fopen(s);
fprintf(s, '%u', uint32(slider_value));
fclose(s)
以上只是一个例子。您应该将Min
、Max
和SliderStep
设置为所需。查找我在开头链接到的UIcontrol属性文档中的相关部分。您还应该注意,我以无符号32位值(不是重铸)的形式发送数据。有用信息:
Value
属性的类型是它当前具有的标量值。该值将介于Min
和Max
之间,分别默认为0和1。您是否将这些设置为其他值?标量值可能采用双精度表示,因此需要转换为字符串:
将其放入init部分(从0到100的滑块):
在您的回调例程中:
s = serial('COM7');
slider_value = get(handles.slider3, 'Value');
fopen(s);
fprintf(s, '%u', uint32(slider_value));
fclose(s)
以上只是一个例子。您应该将
Min
、Max
和SliderStep
设置为所需。查找我在开头链接到的UIcontrol属性文档中的相关部分。您还应该注意,我以无符号32位值(不是重铸)的形式发送数据。但我是否应该将数据转换为字符以便串行发送?到字符数组(MATLAB中的字符串类型)的转换正在通过fprintf
函数进行。我使用模式'%u'
来格式化32位无符号整数。我使用uint32
来允许尽可能大的范围。在这个特定的示例中,如果范围从0到100,您也可以使用uint16
或uint8
。但是我是否应该将数据转换为字符以便串行发送?到字符数组(MATLAB中的字符串类型)的转换正在通过fprintf
函数进行。我使用模式'%u'
来格式化32位无符号整数。我使用uint32
来允许尽可能大的范围。在此特定示例中,如果范围为0到100,您也可以使用uint16
或uint8
。
s = serial('COM7');
slider_value = get(handles.slider3, 'Value');
fopen(s);
fprintf(s, '%u', uint32(slider_value));
fclose(s)