本帖最后由 rengran 于 2023-11-21 16:22 编辑
1、 Printf输出 关于C语言标准的输出函数printf(),在使用是需要包含一个头文件<stdio.h>,在这个头文件中声明了这个函数,但是无法看到该函数是怎么实现的,因为源文件也就是.c文件被封装成了一个库,我们是看不到的,只是让我们如何能用就可以了。在本节中,为了能使printf实现输出到下载软件中的串口助手中显示,在程序中需要分别包含一个头文件“usb.h”以及一个库“stc_usb_cdc_32g.lib”,这两个分别能帮助我们实现标准输出函数printf()到stc-isp软件中的串口助手中。至于怎么实现的,因为没有具体的库说明书,所以只能按照视频中的方法一步步实现,可能是处于保密原因,所以官方并没有给出库的说明。 2、 进制转换 单片机中所有的内容在内存中都是以二进制存在的,也就是一串串的0和1组成的数字排列,至于这些内容代表什么,就需要看编译器以及单片机怎么去“翻译”它了,“翻译”的方法以及法“翻译“成什么内容就是根据要实现什么目的了。所有的进制转换,最终都是归根于二进制,出现其它进制的目的就是便于我们解读或者说来表示一个东西而已。 3、 CDC模式和HID都是通过USB那个端口和电脑中的STC-ISP软件进行通信,从视频中来看,实现CDC模式依然是基于HID模式的,因为在STC-ISP软件中,下载程序时使用“收到用户命令后复位到ISP监控区”,下面有两个模式,在CDC模式时有个选项(见图5.1)是下次使用STC-HID接口进行ISP下载,这个是要求选中的。在这里有个疑问,CDC模式是在HID模式的基础上实现的吗?希望有懂的小伙伴能给指导一下。
图5.1
|