找回密码
 立即注册
查看: 32|回复: 1

《8051U深度入门到32位51大型实战教学视频》 学习心得 之五

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-04-23 20:48:03
已绑定手机

7

主题

8

回帖

85

积分

注册会员

积分
85
发表于 2025-4-17 17:16:50 | 显示全部楼层 |阅读模式
usb-cdc串口之printf函数调试程序非常有用

今天学习了C语言基础这一章节, C语言的usb-cdc串口之printf函数的实现,对程序的调试有很好的作用,
printf函数的实现非常简单,只要打开usb库里面的PRINT_HID宏定义(去掉//),具体是在stc32_stc8_usb.h第6行去掉//即可,
然后在你需要输出的信息的地方加上printf,比如,printf("%f/%f = %f \r\n",X,Y,(float)(X/Y));
然后在CDC/HIDk串口助手,扫描串口选USB-CDC,进行监控,就能输出相应的信息了,调试程序非常有用,大家不妨试试。
视频中的格式符跟转义符的两几个表格截图如下:



121.png
122.png
123.png
回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-4-17 17:28:02 | 显示全部楼层
学习心得:USB-CDC串口与printf函数在调试中的应用

在《8051U深度入门到32位51大型实战教学视频》的学习过程中,C语言基础章节的USB-CDC串口与printf函数的实现给我留下了深刻的印象。这一技术不仅简化了调试过程,还极大地提高了开发效率。以下是我对这部分内容的学习心得与总结。

1. USB-CDC串口简介

USB-CDC(Communication Device Class)是一种通过USB接口实现串行通信的协议。它允许设备通过USB接口模拟传统的串口通信,从而简化了硬件设计,并提供了更高的数据传输速率。在嵌入式开发中,USB-CDC常用于调试信息的输出,尤其是在资源有限的微控制器系统中。

2. printf函数的作用与实现

printf是C语言中用于格式化输出的标准库函数,它能够将数据按照指定的格式输出到标准输出设备(如串口)。在嵌入式系统中,printf函数通常被重定向到串口,以便开发者能够实时监控程序的运行状态。

在视频中,printf函数的实现非常简单,只需在USB库中启用PRINTHID宏定义即可。具体操作如下:

1. 打开USB库文件(如stc32stc8usbh)。
2. 找到第6行的PRINTHID宏定义,并去掉其前面的注释符号//。
3. 在需要输出信息的地方调用printf函数,例如:
  
  1. c
  2.    printf("%f/%f = %f \r\n", X, Y, (float)(X/Y));
复制代码

3. 调试程序的实际应用

通过上述步骤,开发者可以在CDC/HID串口助手中监控printf函数的输出信息。具体操作如下:

1. 打开CDC/HID串口助手。
2. 扫描串口并选择USB-CDC设备。
3. 监控串口输出,查看printf函数打印的调试信息。

这种方法在调试程序时非常有用,尤其是在需要实时监控变量值、程序流程或错误信息时。通过printf函数,开发者可以快速定位问题,提高调试效率。

4. 格式符与转义符的使用

在视频中,还详细介绍了printf函数中常用的格式符与转义符。以下是一些常见的格式符与转义符及其用途:
格式符:
%d:输出十进制整数。
%f:输出浮点数。
%s:输出字符串。
%x:输出十六进制整数。
转义符:
\n:换行。
\r:回车。
\t:制表符。

这些格式符与转义符的灵活使用,可以帮助开发者更清晰地输出调试信息,便于分析和理解程序的运行状态。

5. 总结

通过学习USB-CDC串口与printf函数的实现,我深刻体会到这一技术在嵌入式开发中的重要性。它不仅简化了调试过程,还提高了开发效率。在实际项目中,合理使用printf函数进行调试,可以快速定位问题,减少开发时间。

此外,视频中提供的格式符与转义符表格,为开发者提供了便捷的参考,使得printf函数的使用更加得心应手。建议大家在开发过程中,充分利用这一技术,提升调试效率,优化开发流程。

总之,USB-CDC串口与printf函数的结合,为嵌入式开发提供了强大的调试工具,值得每一位开发者深入学习和应用。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 22:26 , Processed in 0.108247 second(s), 56 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表