串口控RGB三色灯
/********************************* 代码功能:串口控RGB三色灯 使用函数: Serial.flush(); //清空缓存区 Serial.available(); //读取当前串口缓冲池的数据量 Serial.print(字符串); //通过TX传出去 Serial.write(字符串); //写入串口中 Serial.println(字符串); //通过TX传出去,并在尾端加换行 strtok(字符串,'分隔符'); //字符串分解 strtol(字符串地址,NULL(默认),设置进制); //字符转整形 constrain(源数据,区间下界,区间上界); //区间函数 analogWrite(引脚号.电平); //IO输出函数 创作时间:2016*01*05 作者邮箱:jikexianfeng@outlook.com ********************************/ ]; //声明一个字符空间 int red,green,blue; //定义一个变量 ; //红 ; //绿 ; //蓝 void setup(){ Serial.begin(); //初始化串口波特率 Serial.flush(); //清空串口缓存 pinMode(Redpin,OUTPUT); pinMode(Greenpin,OUTPUT); pinMode(Bluepin,OUTPUT); } void loop() { ){ //读取当前串口缓冲池的数据量 ; delay(); int numChar = Serial.available(); //获取当前缓存池的数量 ){ //只要最后的15个字符 numChar = ; } while(numChar--){ buffer[index++] = Serial.read(); //提取缓存中的数据 } splitString(buffer); //传入功能函数 } } void splitString(char * data){ Serial.print("Data entered:"); Serial.println(data); char* parameter; parameter = strtok(data,","); //分解字符串 while(parameter != NULL){ //当 setLED(parameter); parameter = strtok(NULL,","); } ;x<;x++){ buffer[x]='\0'; } Serial.flush(); } void setLED(char *data){ ]==] == 'R')){ //是否是 r ,NULL,); //字符转整形 Ans = constrain(Ans,,); //去区间值 analogWrite(Redpin,Ans); //输出 Serial.print("Red is set to :"); Serial.println(Ans); } ] == ] == 'G')){ ,NULL,); Ans = constrain(Ans,,); analogWrite(Greenpin,Ans); Serial.print("Green is set to :"); Serial.println(Ans); } ] == ] == 'B')){ ,NULL,); Ans = constrain(Ans,,); analogWrite(Bluepin,Ans); Serial.print("Blue is set to :"); Serial.println(Ans); } }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
参考书籍:http://vdisk.weibo.com/s/B_U0yKSwLLqNM?category_id=0&parents_ref=B_U0yKSx62tsp
参考网站:http://wiring.org.co/reference/
参考网页:http://www.cnblogs.com/jikexianfeng/p/6243654.html
参考网页:http://www.cnblogs.com/rayray/p/3198091.html
串口控RGB三色灯的更多相关文章
- 进阶之路(中级篇) - 015 串口控RGB三色灯
本文由博主原创,如有不对之处请指明,转载请说明出处. /********************************* 代码功能:串口控RGB三色灯 使用函数: Serial.flush(); / ...
- Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件!
源:Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件! 2014年02月06日发布控件的重要更新版本: Victor 串口控件 1.5.0.2 版本 (包 ...
- cport串口控件的应用
cport是一个很强大的串口控件.支持delphi/bcb.最新版本是v4.10.官网下载地址是:http://sourceforge.net/projects/comport/files/compo ...
- 串口控制RGB灯程序
实验目的: 通过上位机给串口发送数据(字符); STM32收到数据进入中断程序原封不动返回上位机,并且根据收到的信息产出相应的进行操作.(1- led_on 2 – ledoff...); 源码 ...
- delphi SPCOMM串口控件
在Delphi7.0中安装Spcomm串口通信控件的方法为:选择Delphi7.0的“Component”菜单,点击“Install Component...”菜单项,然后在弹出的Into exist ...
- BCB 串口控件的使用 TComm
昨天工作用到了串口通信,MMP的,昨天懵逼了一下午,今天终于整通了,身为菜鸟,大师们是不懂这些心痛的. 进入主题:使用BCB提供的控件TComm编程方便且简单,TComm位于System分类里面. ...
- C# 实现串口发送数据(不用串口控件版)
参考:https://blog.csdn.net/mannix_lei/article/details/79979432 https://www.cnblogs.com/ElijahZeng/p/76 ...
- winform串口控件serialPort1的使用
serialPort1 控件使用的关键点主要有三: 1.配置串口号2.配置数据接收事件3.打开串口 关键代码如下: private void Form1_Load(object sender, Eve ...
- VS2013+MFC串口控件的简单上位机
因为做东西,正好用到这里.所以就上传了文件分享一下. 利用VS带的MFC库,用起来还是比较方便的.空间的程序构架都是自动生成的,具体的程序自己加进去就行. 里面有整个的工程 还带有一个生成的EXE文件 ...
随机推荐
- 在亚马逊amazon的AWS上安装Node和MongoDB服务器
在亚马逊amazon的AWS上安装Node和MongoDB服务器 在建立AWS上账号.创建EC2 ,用putty链接上之后,就可以用下面的方法开始安装. !!! 如果不是是自己建立的EC2, 而是由B ...
- sax/dom/jdom/dom4j的区别
sax/dom/jdom/dom4j的区别[转] 博客分类: xml 网上能够查到很多的4种解析方式的区别,我再做一下摘录和总结,顺带给自己做个备份. SAX sax分析器在对xml文档进行分析时 ...
- jsp Request获取url信息的各种方法比较
从Request对象中可以获取各种路径信息,以下例子: 假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下 String p ...
- onethink入门笔记(一)
由于公司需求所以大概花了一个星期搞了一个一个基于onethink的数据管理平台demo不得不说onethink这个基于thinkphp3.2.3的框架还是很棒的 让我这个没基础过php的人也能在一星期 ...
- mysql 导出csv
SELECT order_id,product_name,qty FROM ordersINTO OUTFILE '/tmp/orders.csv'FIELDS TERMINATED BY ','EN ...
- 关于ddpush推动实现抖动视频的使用
/** //开机之后打开服务 开机成功打开服务ddpushService**/ <!-- 开机广播 --> <receiver android:name="com.r ...
- python容器类型:列表,字典,集合等
容器的概念我是从C++的STL中学到的 什么是容器? 容器是用来存储和组织其他对象的对象. 也就是说容器里面可以放很多东西,这些东西可以是字符串,可以是整数,可以是自定义类型,然后把这些东西有组织的存 ...
- Office OneNote 自动打开问题
你可能遇到如下问题: 在输入某些文本的时候,突然onenote自动打开 切换输入法,onenote自动打开 使用某些快捷键,onenote自动打开 最近我就遇到类似诡异的问题,使用了各种搜索引擎,都没 ...
- KBMMW 中 IOS IPv6 的解决
自从今年苹果强制新上架的APP 必须支持Ipv6,很多原来需要网络支持的APP 就没法上架了. 别的我们就不说了,先说说kbmmw 中,如何解决这个问题. 要测试你的app 是否支持ipv6, 首先要 ...
- openssh升级至7.2
此处升级操作的原则是保留系统原有ssh服务,新安装高版本ssh服务 1.下载openssh源码包 http://www.openssh.com/portable.html 2.安装#tar zxvf ...