tohturusul 发表于 2023-8-30 12:57:59

CDC通讯

要求:
1.串口发送字符        Ax\r\n,(x表示0-7)板子点亮对应LED
2.串口发送                Bxxxx\r\n,xxxx表示一个四位数,四位数码管显示这个4位数
2.串口发送                Z\r\n,板子给电脑发送“Hello STC”;
3.串口发送字符        Cx\r\n,(x表示0-1)板子打开/关闭蜂鸣
4.串口发送字符        D\r\n,板子通过串口发送当前温度给电脑。
下面的代码写在主函数里面
switch(UsbOutBuffer)
            {
                case 'A':
                  if((UsbOutBuffer>=64)&&(UsbOutBuffer<=74))
                  {
                        LED = ~(1<<(UsbOutBuffer-48));
                  }
                  break;
                case 'B':
                  SEG0 = UsbOutBuffer -48; SEG1 = UsbOutBuffer -48; SEG2 = UsbOutBuffer -48; SEG3 = UsbOutBuffer -48;
                  break;
                case 'C':
                  if( UsbOutBuffer == 48 )
                  {
                        BEEP = 0;
                  }
                  else
                  {
                        BEEP = 1;
                  }
                  break;
                case 'D':
                  printf("温度:%d\r\n", temp);
                  temp++;
                  break;
                case 'Z':
                  printf("HELLO STC!\r\n");
                  break;
                default:
                  break;
            }
            //使用USB_SendData库函数可向上位机发送数据
            //这里的测试代码为将接收数据原样返回
                        //USB_SendData(UsbOutBuffer,OutNumber);
            // 处理完成接收的数据后,调用usb_OUT_done准备接收下一笔数据
                        usb_OUT_done();
                }

月光如盐 发表于 2023-8-30 17:08:30

一个账号最好只开一个贴,第二次打卡只需回复原来的贴即可

页: [1]
查看完整版本: CDC通讯