找回密码
 立即注册
楼主: aaaha

新手打卡帖

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-01-01 15:14:27
已绑定手机

11

主题

11

回帖

77

积分

注册会员

积分
77
发表于 2025-12-26 15:23:11 | 显示全部楼层
之前全用的单文件编写程序,主程序冗杂,条理清晰
1.新建一个文件夹,里面再新建User System Hardware 分别储存主程序、系统程序和硬件部分
2.以管理员权限运行keil软件
2.新建项目,新建一个main.c文件并保存到User文件夹下,设置Xsmall ,勾选HEX
同时,在魔术棒和方块中添加三个文件
3.再新建led.c led.h文件存储在Hardware ,time.c time.h存储在System
4.led.h编程里用于定义, .c文件用于编写程序
5.time编程可以用STC自动生成,
6.在主程序中引用.h程序即可
7.最后编写主程序即可,实现简洁的编写
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-01-01 15:14:27
已绑定手机

11

主题

11

回帖

77

积分

注册会员

积分
77
发表于 2025-12-26 15:43:51 | 显示全部楼层
aaa*** 发表于 2025-12-19 21:09
学习了I/O口的使用,还有延时函数的使用,和按键消抖,很有用!老师思路清晰,讲得通俗易懂。
...

第七集,主要讲解了定时器的运用,用Aicube里的定时器计算器可以自动生成定时器程序,实现了程序的多任务执行,我掌握了中断向量表配置、预分频系数设置与计数器重载值校准的核心流程。它跳出顺序执行框架,借助中断服务函数实现异步精准控时,解决了轮询方式的资源浪费问题。这让我深刻理解嵌入式编程中“软硬协同”与“时序精准”的关键意义。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-01-01 15:14:27
已绑定手机

11

主题

11

回帖

77

积分

注册会员

积分
77
发表于 2025-12-26 17:01:34 | 显示全部楼层
第八集也讲的是定时器的相关应用,还有数组的应用:数组的应用减少了多个变量的定义,程序更清晰;按键按下和串口输出互不影响:利用延时消抖;.c.h文件的创建:也是让主程序精简。数组作为连续存储的结构化数据类型,让我实现了批量数据的高效处理,而按键消抖通过延时与状态检测的逻辑设计,有效解决了硬件电平抖动导致的误触发问题,深刻体会到软件逻辑对硬件稳定性的关键作用。.c 与.h 文件的分离编写,则规范了代码模块化设计,头文件的声明与源文件的实现分离,提升了代码的可维护性与复用性。此次学习让我认识到,嵌入式编程需兼顾语法规范与硬件特性,工程化的代码组织思路更是提升开发效率的核心,为后续底层开发筑牢了基础。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-01-01 15:14:27
已绑定手机

11

主题

11

回帖

77

积分

注册会员

积分
77
发表于 2025-12-29 16:51:26 | 显示全部楼层
实验一:直接输出printf
步骤1:用aicube新建一个项目
2.勾选USB通用串行总线
3.保存项目,新建keil
4.在示例代码中复制printf_usb("Hello World !\r\n"); 并添加到keil主程序中
5.保存文件,并连接实验箱,在CDC串口助手中可以看到输出文字
       
截图202512291521554040.jpg
截图202512291651042685.jpg
截图202512291651194127.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-01-01 15:14:27
已绑定手机

11

主题

11

回帖

77

积分

注册会员

积分
77
发表于 2025-12-29 17:24:04 | 显示全部楼层
aaa*** 发表于 2025-12-29 16:51
实验一:直接输出printf
步骤1:用aicube新建一个项目
2.勾选USB通用串行总线

实验二 查询方式输出printf:
1.用aicube新建一个项目
2.勾选USB通用串行总线 屏幕截图 2025-12-29 165059.png
3.保存项目,新建keil,注释掉//USB_SendData(UsbOutBuffer, OutNumber); 截图202512291721369482.jpg
4.在深圳大学第二个示例代码中复制if (UsbOutBuffer[0] == 6)
                                printf_usb("Hello World !\r\n");
                        else if (UsbOutBuffer[0] == 7)
                                printf_usb("China !\r\n");
并保存到程序中;
5.保存文件,并连接实验箱,在CDC串口助手中点击可以看到文字 屏幕截图 2025-12-29 171704.png
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2026-01-01 15:14:27
已绑定手机

11

主题

11

回帖

77

积分

注册会员

积分
77
发表于 2025-12-29 17:34:41 | 显示全部楼层
实验三:中断方式
步骤1:用aicube新建一个项目
2.勾选USB通用串行总线 屏幕截图 2025-12-29 165059.png
3.保存项目,新建keil
4.在示例代码中复制        if (UsbOutBuffer[0] == 6)
                        printf_usb("Hello World !\r\n");        //接收到数据6后打印“Hello World !”
                else if (UsbOutBuffer[0] == 7)
                        printf_usb("China !\r\n");                //接收到数据7后打印“China !”
并添加到keil主程序中
5.保存文件,并连接实验箱,在CDC串口助手中点击可以看到文字 屏幕截图 2025-12-29 171704.png

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-2-12 18:02 , Processed in 0.109071 second(s), 66 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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