Arduino应用笔记(三)这一篇和(二)方法不同:Matlab利用串口通信控制Arduino点亮LED

xiaoxiao2021-02-28  96

1、实现原理

    与上一篇的方法不同,这一次的方法是Matlab利用串口发送函数给Arduino发送一个字符,一旦Arduino接收到字符之后,就执行对应的任务。

2、Arduino部分的代码

int pin = 8; //LED的管脚 void setup() { pinMode(pin, OUTPUT); //设置管脚为输出模式  Serial.begin(9600); }

void loop() {   if(Serial.read()=='1')   {     digitalWrite(pin, 1);   }   if(Serial.read()=='0')   {     digitalWrite(pin, 0);   } }

代码不难,然后接下来就是把代码烧到Arduino里面去。

3、Matlab部分代码

首先还是新建一个GUI界面,界面也很简单,就两个按钮:

然后我们在xx_OpeningFcn函数里面进行一些全局变量的初始化:

global Port; Port=serial('COM9'); set(Port,'BaudRate',9600);  %设置波特率 set(Port,'DataBits',8); %8位数据位

set(Port,'StopBits',1);  %1位停止位 fopen(Port); %打开串口

 

接下来是两个按钮的回调函数的程序:

LED亮按钮的

global Port; %fwrite(Port,'1'); %fwrite和fprintf都可以 fprintf(Port,'1');

LED灭按钮的

global Port; fwrite(Port,'0');

 

然后就是连接外围电路,执行Matlab程序,实验成功!

转载请注明原文地址: https://www.6miu.com/read-69599.html

最新回复(0)