1.第588页有个笔误。
此处应为PWMA_CCMR1
2.第400页,超级简单的 STC USB-CDC 虚拟串口应用,设置步骤里最后一步是给keil添加REMOVEUNUSED参数
这里不可以添加REMOVEUNUSED参数,否则不能正常工作
测试代码如下:
- #include <stc32g.h>
- #include <stc32_stc8_usb.h>
-
- char *USER_DEVICEDESC = NULL;
- char *USER_PRODUCTDESC = NULL;
- char *USER_STCISPCMD = "@STCISP#";
-
- long a;
- float b;
- sbit led = P2^0;
- void main()
- {
- WTST = 0;
- CKCON = 0;
- EAXFR = 1;
- P0M1 = 0x00; P0M0 = 0x00;
- P1M1 = 0x00; P1M0 = 0x00;
- P2M1 = 0x00; P2M0 = 0x00;
- P3M1 = 0x00; P3M0 = 0x00;
- P4M1 = 0x00; P4M0 = 0x00;
- P5M1 = 0x00; P5M0 = 0x00;
- P6M1 = 0x00; P6M0 = 0x00;
- P7M1 = 0x00; P7M0 = 0x00;
- P3M0 &= ~0x03;
- P3M1 |= 0x03;
-
- IRC48MCR = 0x80;
- while (!(IRC48MCR & 0x01));
- USBCLK = 0x00;
- USBCON = 0x90;
- usb_init();
- IE2 |= 0x80;
- EA = 1;
- while (DeviceState != DEVSTATE_CONFIGURED);
-
- a = b;
- led = 0;
- while (1);
- }
复制代码
如果添加了REMOVEUNUSED,P2.0端口的led不会点亮,也无法使用不停电自动 ISP 下载的功能。去掉REMOVEUNUSED则一切正常。 |