ä¸ä¸ªä¾ç¨
[C++] 纯ææ¬æ¥ç å¤å¶ä»£ç
/*
OpenJumper Example
串å£RGB LEDè°å
å¥ä½col 2013.2.20
[url]
www.openjumper.com[/url]
*/
int i; //ä¿åPWMéè¦è¾åºçå¼
String inString = ""; // è¾å
¥ç
å符串char LED = ' ';// ç¨äºå¤ææå®LEDé¢è²å¯¹åºçå¼è
boolean stringComplete=false;// ç¨äºå¤ææ°æ®æ¯å¦è¯»åå®æ
void setup() {
//åå§å串å£
Serial.begin(9600);
}
void loop() {
if (stringComplete)
{
if (LED=='A'){
analogWrite(9,i);
}
else if (LED=='B'){
analogWrite(10,i);
}
else if (LED=='C'){
analogWrite(11,i);
}
// æ¸
空æ°æ®ï¼ä¸ºä¸ä¸æ¬¡è¯»åååå¤
stringComplete = false;
inString = "";
LED = ' ';
}
}
//使ç¨ä¸²å£äºä»¶
// 读å并å离åæ¯åæ°å
void serialEvent() {
while (Serial.available()) {
// 读åæ°çå符
char inChar = Serial.
read()();
//æ ¹æ®è¾å
¥æ°æ®åç±»
// å¦ææ¯æ°åï¼ååå¨å°åéinStringä¸
// å¦ææ¯è±æå符ï¼ååå¨å°åéLEDä¸
// å¦ææ¯ç»æ符â\nâï¼åç»æ读åï¼å¹¶å°inString转æ¢ä¸ºint
if (isDigit(inChar)) {
inString += inChar;
}
else if (inChar == '\n') {
stringComplete = true;
i=inString.toInt();