直接上程序

/*----------------------------------------------------------------------------
    相关函数:
    Serial.begin(speed)     串口定义波特率函数,speed表示波特率,如9600,115200等
    int Serial.available() 判断缓冲器状态
    int Serial.read()    读串口并返回收到参数
//  Serial.flush()       清空缓冲器
    Serial.print(data)      串口输出数据
    Serial.println(data)   串口输出数据并带回车符 
  ----------------------------------------------------------------------------*/
#define  LED_PIN  13             //宏定义LED引脚,便于识记
#define  OFF_LED  HIGH           //宏定义高电平时为关闭LED灯
#define  ON_LED   LOW            //宏定义低电平时为打开LED灯
char uart_rx_buf = 0;            //声明一个char类型变量,用于存储串口接收到的字符
void setup(){                    //初始化   
    //put your setup code here, to run once:                    
    pinMode(LED_PIN,OUTPUT);     //初始化LED引脚为输出模式
    Serial.begin(115200);       //初始化串口波特率为115200
    digitalWrite(LED_PIN,OFF_LED);//初始状态LED熄灭
}

void loop(){                     //主循环,实现串口控制LED的亮灭
    //put your main code here, to run repeatedly:
    if(Serial.available()>0) {  //如果串口有数据
        uart_rx_buf = char(Serial.read());//Serial.read()读缓冲区字符,每次只能读一个字节
        if(uart_rx_buf=='A') {
            digitalWrite(LED_PIN,OFF_LED); //接受到A字符,熄灭LED
            Serial.println("OFF_LED");    
        }else if(uart_rx_buf=='B') {
            digitalWrite(LED_PIN,ON_LED);  //接受到B字符,点亮LED
            Serial.println("ON_LED"); 
        } 
    uart_rx_buf = 0;            //清除接收到的字符
    }
}

Arduino学习(3)——串口LED灯控制

相关文章: