不啰嗦,直接上图:
代码:
- //Proteus虚拟Arduino串口通讯测试 - 说:没有注释的代码不是好代码!
- int Cmd,Power1,Power2;//定义3个整型变量:Cmd为接收串口数据,Power1和Power2分别储存两个小灯的工作状态
- int Led_Left = 6;//定义左边小灯对应arduino的IO口
- int Led_Right = 7;//定义右边小灯对应arduino的IO口
- int Power_Led = 13;//定义电源指示灯
- //初始化arduino
- void setup() {
- Serial.begin(9600);//定义串口波特率
- pinMode(Power_Led, OUTPUT);//定义左边小灯IO口的工作模式为输出
- pinMode(Led_Left, OUTPUT);//定义左边小灯IO口的工作模式为输出
- pinMode(Led_Right, OUTPUT);//定义右边小灯IO口的工作模式为输出
- }
- //arduino主循环函数
- void loop() {
- digitalWrite(Power_Led,HIGH);//点亮电源灯
- Cmd = Serial.read();/*读取串口缓冲区数据*/
- //处理读取到的数据
- if(Cmd != -1){
- Serial.print("Get Command:"); Serial.println((char)Cmd);
- }
- switch(Cmd){
- //判断指令数据,并反馈
- case '1':Power1 = 1;Serial.println("The Led_Left Trun On!");break;
- case '2':Power1 = 0;Serial.println("The Led_Left Trun Off!");break;
- case '3':Power2 = 1;Serial.println("The Led_Right Trun On!");break;
- case '4':Power2 = 0;Serial.println("The Led_Right Trun Off!");break;
- default: break;
- }
- //处理小灯的工作状态
- switch(Power1){
- case 0:digitalWrite(Led_Left,LOW);break;
- case 1:digitalWrite(Led_Left,HIGH); break;
- default: break;
- }
- switch(Power2){
- case 0:digitalWrite(Led_Right,LOW);break;
- case 1:digitalWrite(Led_Right,HIGH);break;
- default: break;
- }
- }
复制代码
poeteus8.3Sp2 可以直接创建Arduino开发板,其他不啰嗦了。
|