极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 26921|回复: 8

Arduino学习笔记A15 - 零碎的Arduino串口控制代码

[复制链接]
发表于 2014-2-22 11:17:37 | 显示全部楼层 |阅读模式
本帖最后由 Ansifa 于 2015-6-29 15:21 编辑

串口控制的代码,有串口控制16/32个595级联,串口控制Arduino UNO 18个引脚开关,串口控制红外发送,串口控制315M/433M发送等。

[pre lang="arduino" line="1" file="SerialIO.ino"]/*
串口控制开关
By Ansifa
2013/6/15

说明!必须看完!
Arduino UNO总共18个脚全部用完
发一串字符串即可单独控制所有引脚开关。
H高电平,L低电平,-是保持原来电平状态。
发送的时候,记得选择串口监视器里面的行尾增加:(换行和回车)

测试:
HHHHHHHHHHHHHHHHHH
LLLLLLLLLLLLLLLLLL
111111111111111111
1-1-1011111111110
000000000000000000
10101010101010101
10101010101010101
*/


int i, Pins[18] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, A0, A1, A2, A3, A4, A5};
String inputString = "";
boolean stringComplete = false;
void setup()
{
    Serial.begin(57600);
    inputString.reserve(50);
    for (i = 0; i < 18; i++) pinMode(Pins, OUTPUT);
}
void loop()
{
    if(stringComplete == true)
    {
        for (i = 0; i < 18; i++)
        {
            if(inputString == 'H' || inputString == 'h' || inputString == '1')
            {
                digitalWrite(Pins, HIGH);
            }
            if(inputString == 'L' || inputString == 'l' || inputString == '0')
            {
                digitalWrite(Pins, LOW);
            }
        }
        inputString = "";
        stringComplete = false;
    }
}

void serialEvent()
{
    while (Serial.available())
    {
        char inChar = (char)Serial.read();
        inputString += inChar;
        if (inChar == '\n' || inChar == '\r')
        {
            stringComplete = true;
        }
    }
}[/code]
回复

使用道具 举报

发表于 2014-2-22 21:09:39 | 显示全部楼层
哈哈,非常好用的代码。很多地方能用的到。不过发现个小问题。是我设置的事,在串口监视器最下面有个小设置。


开始一直没反应,改了波特率,也不行,后来发现是换行的事。原来我着是用的 “没有结束符号” 改成 “换行”“回车”就都正常了。不知道实际应用中,有没有影响,要不要改改代码?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-2-22 22:48:26 | 显示全部楼层
inputString.reserve(50);   这句什么意思呢?
回复 支持 反对

使用道具 举报

发表于 2014-2-24 13:05:22 | 显示全部楼层
好贴!真心不错!
回复 支持 反对

使用道具 举报

发表于 2014-4-20 00:03:52 | 显示全部楼层
学习了。。。。。
回复 支持 反对

使用道具 举报

发表于 2014-9-28 16:32:05 | 显示全部楼层
好帖,学习了!
回复 支持 反对

使用道具 举报

发表于 2014-12-31 10:11:01 | 显示全部楼层
好贴学习中,谢谢
回复 支持 反对

使用道具 举报

发表于 2016-10-5 20:54:29 | 显示全部楼层
不错  学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-16 21:51 , Processed in 0.047322 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表