今日已收到从 STC 申请的擎天柱核心板,实验箱也已完成申请,目前正等待收货。后续学习过程中会涉及代码编写,此帖仅作为本人学习经历的记录,以便后续查阅。
本次实验基于擎天柱核心板。
实验目标:通过 USB-CDC 接收指定字符,实现对 LED 灯亮灭的控制。
第一步,完成USB-CDC收发功能
[*]打开集成 AiCube 的 STC 程序下载工具,进入 AiCube 界面;
[*]新建 AiCube 项目,选择单片机型号为 Ai8051U-32Bit,项目命名为 USB_CDC_LED;
[*]在项目设置中勾选外设的 USB 选项,完成项目工程创建;
4.在 STC 下载工具中找到 printf_usb 例程,将其内容复制到新建工程中,注意需先注释掉主函数 While 循环内的 USBLIB_OUT_Done (); 语句;
5.编译程序生成 Hex 文件后,打开 STC 程序下载工具,连接擎天柱核心板,加载刚生成的 Hex 文件;找到 “收到用户命令后复位到 ISP 监控程序区” 界面,勾选左下角 “当目标文件变化时自动装载并发送下载命令”(勾选后,首次下载程序完成,后续修改工程并编译后即可自动下载);同时选择自定义命令下的三个选项,完成后界面如下图所示;
6.在 STC 下载工具中打开 “CDC/HID - 串口助手”,开启串口后,选择 HEX 模式发送数据:发送 “6” 时,串口返回 “Hello World !”;发送 “7” 时,串口返回 “China !”。需注意,“\r\n” 字符在文本模式下不可见,在接收缓冲区同时选择文本和 HEX 模式即可查看实际数据;
7.将原有代码修改为以下内容后,可将发送缓冲区模式切换为文本模式。此时会发现,电脑发送的数据从 06、07 变为 36、37,原因是在 C 语言中,6、7 为数字,而 '6'、'7' 为文本字符,单片机发送文本时会以 ASCII 码形式传输。完成上述代码修改后,即完成第一步操作。
第二步,完成LED控制功能
这块擎天柱核心板LED连接在P2端口
1.通过 STC 下载工具对 P2 端口进行配置,可将其设为准双向口或推挽输出模式;
2.由于 LED 的阴极连接 P2 端口、阳极接 5V 电平,因此当 P2 端口为高电平时,LED 点亮;P2 端口为低电平时,LED 熄灭。编写以下代码实现实验功能:串口发送字符 '1' 时,LED 点亮;发送字符 '0' 时,LED 熄灭;且串口接收到消息后,会同步打印 LED 的当前状态。
本次实验代码主要基于 AiCube 和 STC 下载工具生成,参考文档为《AI8051U-20250919.pdf》,参考视频链接为https://www.stcaimcu.com/thread-11902-1-1.html。
页:
1
[2]