arduino 读取串口数值 ~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arduino 读取串口数值 ~相关的知识,希望对你有一定的参考价值。

这个应该用什么指令怎么写?我知道对于有些人来说很简单,对于我们这样的菜鸟却很难 望高手指教

条件:串口不定时传入变化的数值 如: a=451 b=874 c=656 d=2245 aa=794
要求:
收到数值后 将对应的数值赋予对应变量A、B、C、D、AA中 如收到c=238 则变量C等于238

(拒绝复制粘贴,用心回答才给分 麻烦各位高手了)

1、首先设置LED灯引脚,定义变量存储串口数据,如图所示。

2、然后打开串行通信接口并设置通信波特率,将LED管脚模式初始化为输出模式,如图所示。

3、然后检查是否有数据,并且发出控制指令,如图所示。

4、然后读取串口数据,如图所示。

5、然后测试传输值是否等于K,如图所示。

6、最后测试传输值是否等于G,如图所示。

参考技术A

1、设置LED灯引脚,定义变量存储串口数据。

2、开启串行通信接口并设置通信波特率,初始化LED灯引脚模式为OUTPUT模式。

3、检查是否有数据,并且发出控制指令。

4、读取串口数据。

5、判断,比较运算符,用于测试传输值是否等于K。

6、判断,比较运算符,用于测试传输值是否等于G。

注意事项:

Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。

参考技术B 首先是串口的读入:
基本的串口读入:
void setup()

Serial.begin(9600); //设置波特率为9600,一般是这个波特率

void loop()

if(Serial.available()>0)//如果串口有数据进入的话

char c=Serial.read();//每次读一个字符,是ASCII码的



然后就是相当于读入信息的处理了
比如说如果建一个字符串name,每读一次c若不是等号或空格就加进去,
当读到等号时就读完一个名字了,接下来一直读到空格的都是数据,
当读到空格后就完成一个循环,继续上面的循环这样追问

我是新手 能不能把读入信息处理那小块帮写下?我好学习修改 必将400分送于前辈,以表感谢!

追答

分倒不用那么多,主要是这些东西还是自己研究才有收获,arduino已经自带了很多例子,你可以研究看看它的例子

追问

就因为愚笨 自己书都买了3本了 这点小问题依然没有解决 所以才上网请教 这个分就给前辈你了 如果有空且愿意的话 帮我整下,还有200分送于前辈 分不在多少 知识是无价的

本回答被提问者采纳
参考技术C 很想回答你,但是不懂,,

arduino 串口如何数据提取变量,请各位高手指点

遇到的问题是这样的:

条件:串口不定时传入变化的数值 如: a=451 b=874 c=656
要求:
收到数值后 将对应的数值赋予对应变量q、w、e中 如收到c=238 则变量q等于238

我是这样写的:没办法把传入的 a=451 b=874 c=656 赋予对应变量 q、w 、e 请各位前辈指教,需要什么样的指令才能完成以上功能

int comtemp; //串口传来的数据保存到了这个变量中
int q; //用于存储a=后面的数值变量
int w; //用于存储b=后面的数值变量
int e; //用于存储c=后面的数值变量
void setup() Serial.begin(9600); //设置波特率
void loop() if (Serial.available() > 0) //当串口有数据传来时执行
comtemp = Serial.read(); //把串口的数据存到变量comtemp中 comtemp=0; //清理变量 使数据最新

参考技术A int comtemp[3]; 定一个数组不行吗?
int q;
int w;
int e;
void setup()
Serial.begin(9600);
void loop()
int i;
while ((Serial.available() > 0)&&(i<3))
comtemp[i] = Serial.read();
i++;
i=0;
参考技术B 要用中断
用外部中断 在程序里加外部中断时的处理函数 在函数里把值改变了
参考技术C 要用中断
用外部中断 在程序里加外部中断时的处理函数 在函数里把值改变了追问

能不能再详细些?举例说明 如果有帮助 送分表示感激

追答

atmega单片机有外部中断端端口 把串口的线都连上去 当检测到外部中断触发时在程序里用中断处理函数把值改了

以上是关于arduino 读取串口数值 ~的主要内容,如果未能解决你的问题,请参考以下文章

arduino 串口如何数据提取变量,请各位高手指点

Arduino串口读取

arduino读取一个block值

arduino如何串口输出变量的值

读取 Arduino 的串口

arduino用来发送串口数组