串口控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文件 ...
随机推荐
- python 2day
一 优化 username='alex' password=‘alex123’ 可以写成 username,password =‘alex’,'alex123' 二.再次优化 for i in ran ...
- 初级Bug率,随时受不了
一听到初级Bug这个名字,很多开发工程师都会觉得很头痛,还有那个“初级Bug率”,让人随时受不了. 初级Bug这个概念,在多数缺陷跟踪工具中,是不存在的,可以说是淘宝研发部的特色.初级Bug对应Bug ...
- [转载] COM 套间
http://www.vckbase.com/index.php/wv/1315 简序 大学毕业前的最后一学期,在一家公司实习,当时的工作需要用到一些操作系统提供的组件.那时候只知道COM这个名词,并 ...
- 这些年正Android - 身在他乡
“从不敢想到想去做到,做到我想的,事实证明我并不像他们想象的那样脆弱.我只是需要一盏灯,一架钢琴,一支麦克风.曾经想象过做一名医生救死扶伤,也曾想过做律师,做记者,做奥运冠军,但是都没有结果.因为我最 ...
- 《Unix/Linux网络日志分析与流量监控》获2015年度最受读者喜爱的IT图书奖
<Unix/Linux网络日志分析与流量监控>获2015年度最受读者喜爱的IT图书奖.刊登在<中华读书报>( 2015年01月28日 19 版) 我的2015年新作刊登在< ...
- STL学习 - map
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值. 一.map的说明 1 头文件 #include <map> 2 ...
- SQL Server Reporting Services (SSRS): Reporting Services in SQL Server 2012 (codename "Denali") will support XLSX, DOCX formats. Bye bye 65536 rows limit in XLS files ;)
当SSRS报表的时候,若相应EXCEL是2003以下,在行数超过65536的时候报表会报错 "Microsoft.ReportingServices.ReportProcessing.Han ...
- Mysql的一些常用方法
公司近期为新来同事做了一次培训,我也偷偷溜进去观摩了一下,内容虽然很基础,但是还是挺有用的.这里做了一下资料汇总: 2种存储引擎 InnoDB:支持事务处理.外键.行级锁,游戏业务库使用 MyISAM ...
- 关于数组Arry的一些基本认识
认识数组主要从以下几个方面去认识,一:数组具备什么样的特性,二:它能做什么,三:它具备哪些常用的api方法 //数组的原始表示方式 /* 数组的特性:1有长度,2以0开头 */ var arr1 = ...
- python 实现 斐波那契数列
#!usr/bin/python#_*_coding=utf-8_*_ def fin(n): li=[0,1] for i in range(2,n): li.append(li[-1]+li[-2 ...