您的位置:首页 > 财经 > 产业 > 宁波网站建设流程有哪些_5个不好的网站_站长工具域名查询ip_视频剪辑培训

宁波网站建设流程有哪些_5个不好的网站_站长工具域名查询ip_视频剪辑培训

2025/1/23 10:16:28 来源:https://blog.csdn.net/ganhui13000/article/details/144012705  浏览:    关键词:宁波网站建设流程有哪些_5个不好的网站_站长工具域名查询ip_视频剪辑培训
宁波网站建设流程有哪些_5个不好的网站_站长工具域名查询ip_视频剪辑培训

文章目录

  • 前言
  • 一、项目需要
  • 二、使用步骤
    • 1.查找串口填写到查找列表
    • 2.发送函数
    • 3. 接收函数
    • 4.检测串口按钮
    • 5.选择串口号
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

项目需要:


提示:以下是本篇文章正文内容,下面案例可供参考

一、项目需要

MATLAB 和串口通信为了进一步实现STM32 等单片机通信

二、使用步骤

1.查找串口填写到查找列表

添加初始化函数

在这里插入图片描述

在这里插入图片描述

代码如下(示例):

        % Code that executes after component creationfunction startupFcn(app)comlist=serialportlist;app.DropDown.Items=comlist;end

2.发送函数

点击发送按钮,将数据发送出去, TextArea里面的数据是cell格式,要串口发送要转换成字符数据,这里用了 data=cell2mat(dataToSend);
在这里插入图片描述

代码如下(示例):

        % Button pushed function: Button_5function send_serial(app, event)dataToSend=app.TextArea.Value;disp(dataToSend)
%             dataToSend=(uint8)dataTo;data=cell2mat(dataToSend);%             fprintf('com3  %s \n',dataToSend); write(app.Serial_Obj, data,"uint8"); end

3. 接收函数

新建接收函数
输入名称,点击+公共函数

在这里插入图片描述

自动生成代码,修改函数名后,添加函数输入参数

参考代码

  methods (Access = public)function results = recive(app,src,envent)receivedData = read(app.Serial_Obj, 5, 'char');app.TextArea_2.Value=receivedData;                receivedDataStr = char(receivedData);                % 显示接收到的数据  disp('Received Data:');  disp(receivedDataStr);         end

在这里插入图片描述

4.检测串口按钮

% Button pushed function: Button_3
function check_serial(app, event)%  global portsapp.ports = serialportlist;  % 检查是否有可用的串口  if isempty(app.ports)  disp('没有检测到任何串口设备。');  else  % 显示串口信息  for i = 1:length(app.ports)  fprintf('Port %d: %s\n', i, app.ports(i));  end  end% 假设 handles.popupmenu1 是已经创建的 popupmenu 控件  % 创建一个包含多个字符串的单元格数组  %  options = {'Oon 1', 'Option 2', 'Option 3'};  % 将这个单元格数组设置为 popupmenu 的 'String' 属性 app.DropDown.Items=app.ports;end

5.选择串口号

在这里插入图片描述

        function chose_com_v(app, event)value = app.DropDown.Value;
%             fprintf('com %s  \n',value); switch valuecase 'COM1'fprintf('    com1 \n'); case 'COM2'fprintf('com2  \n'); case 'COM3'fprintf('com3  \n'); endend

在这里插入图片描述

完整程序

classdef app1 < matlab.apps.AppBase% Properties that correspond to app componentsproperties (Access = public)UIFigure       matlab.ui.FigureTextArea_2     matlab.ui.control.TextAreaLabel_2        matlab.ui.control.LabelButton_5       matlab.ui.control.ButtonTextArea       matlab.ui.control.TextAreaLabel          matlab.ui.control.LabelButton_4       matlab.ui.control.ButtonButton_3       matlab.ui.control.ButtonDropDown       matlab.ui.control.DropDownDropDownLabel  matlab.ui.control.LabelButton_2       matlab.ui.control.ButtonImage2         matlab.ui.control.ImageImage          matlab.ui.control.ImageButton         matlab.ui.control.Buttonendproperties (Access = public)
%         Property % Descriptionimage1portsSerial_Objend% Callbacks that handle component eventsmethods (Access = private)% Button pushed function: Buttonfunction open_image(app, event)app.image1=imread('img6_1.jpg');
%             imshow(image1);%              i=imread('1.jpg');app.Image.ImageSource=app.image1;end% Button pushed function: Button_2function open_image2(app, event)app.Image2.ImageSource=app.image1;end% Button pushed function: Button_3function check_serial(app, event)%  global portsapp.ports = serialportlist;  % 检查是否有可用的串口  
if isempty(app.ports)  disp('没有检测到任何串口设备。');  
else  % 显示串口信息  for i = 1:length(app.ports)  fprintf('Port %d: %s\n', i, app.ports(i));  end  
end% 假设 handles.popupmenu1 是已经创建的 popupmenu 控件  
% 创建一个包含多个字符串的单元格数组  
%  options = {'Oon 1', 'Option 2', 'Option 3'};  % 将这个单元格数组设置为 popupmenu 的 'String' 属性 
app.DropDown.Items=app.ports;end% Drop down opening function: DropDownfunction chose_com(app, event)%             value = app.DropDown.Value;%             x=0:0.01:5;
%             y=sin(x);
%             switch value
%                 case '红色'
%                     plot(app.UIAxes,x,y,'r')
%                 case '绿色'
%                     plot(app.UIAxes,x,y,'g')
%                 case '黄色'
%                     plot(app.UIAxes,x,y,'y')
%             endend% Value changed function: DropDownfunction chose_com_v(app, event)value = app.DropDown.Value;
%             fprintf('com %s  \n',value); switch valuecase 'COM1'fprintf('    com1 \n'); case 'COM2'fprintf('com2  \n'); case 'COM3'fprintf('com3  \n'); endend% Button pushed function: Button_4function open_seiral(app, event)% 获取所有可用的串口端口号  
%                 portNames = {app.ports(var)}; % 这是一个单元数组  portNames=app.DropDown.Value;% 将单元数组转换为字符串数组(如果需要)  portNamesStr = string(portNames); % 在 MATLAB R2016b 及更高版本中可用  % 显示端口号  disp(portNamesStr);% 创建并打开串口  serialComName = portNamesStr;serialBaudrate = 9600;serialDataBit = 8;serialCheckBit = 'none';serialStopBit = 1;% 尝试打开串口tryapp.Serial_Obj=serialport(serialComName,serialBaudrate,"Parity",serialCheckBit,"DataBits",serialDataBit,"StopBits",serialStopBit,"Timeout",1);text1 = '串口打开成功';disp(text1)dataToSend = 'Hello, Serial Port!';  write(app.Serial_Obj, dataToSend, "uint8"); catch% 串口打开失败text = '串口打开失败';disp(text)% 删除串口delete(app.Serial_Obj);endend% Button pushed function: Button_5function send_serial(app, event)dataToSend=app.TextArea.Value;disp(dataToSend)
%             dataToSend=(uint8)dataTo;data=cell2mat(dataToSend);%             fprintf('com3  %s \n',dataToSend); write(app.Serial_Obj, data,"uint8"); endend% Component initializationmethods (Access = private)% Create UIFigure and componentsfunction createComponents(app)% Create UIFigure and hide until all components are createdapp.UIFigure = uifigure('Visible', 'off');app.UIFigure.Position = [100 100 737 525];app.UIFigure.Name = 'MATLAB App';% Create Buttonapp.Button = uibutton(app.UIFigure, 'push');app.Button.ButtonPushedFcn = createCallbackFcn(app, @open_image, true);app.Button.Position = [98 409 100 24];app.Button.Text = {'打开图像'; ''};% Create Imageapp.Image = uiimage(app.UIFigure);app.Image.Position = [524 275 200 251];% Create Image2app.Image2 = uiimage(app.UIFigure);app.Image2.Position = [525 97 210 200];% Create Button_2app.Button_2 = uibutton(app.UIFigure, 'push');app.Button_2.ButtonPushedFcn = createCallbackFcn(app, @open_image2, true);app.Button_2.Position = [99 354 100 24];app.Button_2.Text = '打开图像2';% Create DropDownLabelapp.DropDownLabel = uilabel(app.UIFigure);app.DropDownLabel.HorizontalAlignment = 'right';app.DropDownLabel.Position = [71 275 66 22];app.DropDownLabel.Text = 'Drop Down';% Create DropDownapp.DropDown = uidropdown(app.UIFigure);app.DropDown.DropDownOpeningFcn = createCallbackFcn(app, @chose_com, true);app.DropDown.ValueChangedFcn = createCallbackFcn(app, @chose_com_v, true);app.DropDown.Position = [152 275 100 22];% Create Button_3app.Button_3 = uibutton(app.UIFigure, 'push');app.Button_3.ButtonPushedFcn = createCallbackFcn(app, @check_serial, true);app.Button_3.Position = [99 191 100 24];app.Button_3.Text = '查找串口';% Create Button_4app.Button_4 = uibutton(app.UIFigure, 'push');app.Button_4.ButtonPushedFcn = createCallbackFcn(app, @open_seiral, true);app.Button_4.Position = [99 120 100 24];app.Button_4.Text = '打开串口';% Create Labelapp.Label = uilabel(app.UIFigure);app.Label.HorizontalAlignment = 'right';app.Label.Position = [278 390 29 22];app.Label.Text = '发送';% Create TextAreaapp.TextArea = uitextarea(app.UIFigure);app.TextArea.Position = [322 354 150 60];% Create Button_5app.Button_5 = uibutton(app.UIFigure, 'push');app.Button_5.ButtonPushedFcn = createCallbackFcn(app, @send_serial, true);app.Button_5.Position = [100 49 100 24];app.Button_5.Text = '发送';% Create Label_2app.Label_2 = uilabel(app.UIFigure);app.Label_2.HorizontalAlignment = 'right';app.Label_2.Position = [279 301 29 22];app.Label_2.Text = '接收';% Create TextArea_2app.TextArea_2 = uitextarea(app.UIFigure);app.TextArea_2.Position = [324 269 150 60];% Show the figure after all components are createdapp.UIFigure.Visible = 'on';endend% App creation and deletionmethods (Access = public)% Construct appfunction app = app1% Create UIFigure and componentscreateComponents(app)% Register the app with App DesignerregisterApp(app, app.UIFigure)if nargout == 0clear appendend% Code that executes before app deletionfunction delete(app)% Delete UIFigure when app is deleteddelete(app.UIFigure)endend
end

总结

学习使人快乐!
音乐使人愉悦!
日积月累使人充实和自信!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com