找回密码
 立即注册
查看: 113|回复: 0

第七集定时器中断

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-12-11 10:07:35
已绑定手机

7

主题

0

回帖

25

积分

新手上路

积分
25
发表于 2024-12-11 13:25:47 | 显示全部楼层 |阅读模式

image.png

由于Delay属于阻塞延时,执行期间CPU不能执行其他事,直到计时结束,这样会大大浪费CPU资源,我们可以利用定时器中断来节省CPU资源

定时器作用:
(1) 用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作
(2) 替代长时间的Delay,提高程序的运行效率和处理速度(可以打断主循环)

image.png

这样使用按键和LED三秒状态取反就不冲突了,就可以同时执行,使用定时器前需要初始化

image.png

image.png

image.png

关于串口打印乱码的问题

image.png

Keil软件编译时,字符串中不能含有带 OxFD 编码的汉字,否则会出现乱码。
解决方法:在带有 Oxfd 编码的汉字后增加一个 Oxfd 即可。例如:printf("数学");printf("数\xfd 学");
包含Oxfd编码的汉字如下:
褒饼昌除待谍洱俘庚过糊积箭烬君魁例笼慢谬凝琵讫驱三升数她听妄锡淆旋妖引育札正铸 佚冽邶埤荦蔟摭啐帻猃恺泯潺妪纨琮椠辇挲臊忑睚铨稞瘕颀螨筋酏觚鳊鼾

另外, Keil项目路径名的字符中也不能含有带0xFD编码的汉字,否则Keil软件会无法正确编译此项目

定时器基本框架介绍

image.png

定时时间计算

image.png

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-8 00:52 , Processed in 0.099319 second(s), 46 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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