printf影响单片机中断速度

printf是我们常用的调试程序的手段,在第一版程序中,经常会使用printf来验证程序是否工作正确。这样的调试手段应该在正式版的程序发布前注释掉或者删除。而且不当地使用printf也会带来某些功能性问题,例如,在某项目中,需要快速响应一个触发信号,在该触发信号到来时,对触发信号计数,并分别对不同的数字做出不同的反应,代码如下图所示:

void SIGTRIG_IRQHandler(void)
{//满洲里国峰电子科技//www.guofengdianzi.com//确保是否产生了EXTI Line中断if(EXTI_GetITStatus(SIGTRIG_EXTI_LINE) != RESET) {    TrigNum++;// just 4 channelsif(TrigNum>3)TrigNum=0;printf("num=%d \r\n", TrigNum);  //清除中断标志位EXTI_ClearITPendingBit(SIGTRIG_EXTI_LINE);     } 
}

在上述代码中,使用printf验证是否每次的触发信号均被正确捕捉,然而我们在测试中发现,这个printf影响了该中断函数的速度,这个触发信号的频率大约是200us,测试时发现响应动作的周期却远大于200us,经排查是printf引起,将其注释后,恢复正常。

void SIGTRIG_IRQHandler(void)
{//满洲里国峰电子科技//www.guofengdianzi.com  //确保是否产生了EXTI Line中断if(EXTI_GetITStatus(SIGTRIG_EXTI_LINE) != RESET) {    TrigNum++;// just 4 channelsif(TrigNum>3)TrigNum=0;//printf("num=%d \r\n", TrigNum);  //清除中断标志位EXTI_ClearITPendingBit(SIGTRIG_EXTI_LINE);     } 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/59487.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql error:1449权限问题 及 用户授权

一、权限问题 Got error: 1449: The user specified as a definer (skip-grants userskip-grants host) does not exist when using LOCK TABLES 在迁移数据库时,定义的definer,在两个数据库之间不同步时,要将不存在的definer改成数据库中已…

HTB:Grandpa[WriteUP]

目录 连接至HTB服务器并启动靶机 1.Which version of Microsoft IIS is running on TCP port 80? 2.Which 2017 CVE abuses a Buffer overflow in the ScStoragePathFromUrl function in that specific IIS version, allowing remote attackers to execute arbitrary code?…

AI笔筒操作说明及应用场景

AI笔筒由来: 在快节奏的现代办公环境中,我们一直在寻找既能提升效率、增添便利,又能融入企业文化、展现个人品味的桌面伙伴。为此,我们特推出专为追求卓越、注重细节的您设计的AI笔筒礼品版,它集高科技与实用性于一身…

ssm+vue684基于WEB技术的在线商品交易平台的设计

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

【青牛科技】GC8549替代LV8549/ONSEMI在摇头机、舞台灯、打印机和白色家电等产品上的应用分析

引言 在现代电子产品中,控制芯片的性能直接影响到设备的功能和用户体验。摇头机、舞台灯、打印机和白色家电等领域对控制精度、功耗和成本等方面的要求日益提高。LV8549/ONSEMI等国际品牌的芯片曾是这些产品的主要选择,但随着国内半导体技术的进步&…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-15

文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么&#xff…

C语言---程序设计基础练习题目3

对之前的练习和文章进行回顾,并在此文章中解决新问题 如在题目中有看不明白的地方 可跳转我的主页去查看 Wanyu的主页 以下题目是留在文章中的练习:(点击即可查看) Wanyu C语言—程序设计练习题目及学习方法2 习题1:…

[SAP ABAP] 面向对象程序设计-类和对象

面向对象开发的特点:封装、继承和多态 什么是类和对象? 类(CLASS)是创建对象的模板,对象(OBJECT)是类的实例 一个类可以创建多个对象 类 > 类型 对象 > 个体 在ABAP语言中,定义一个类,需要包含定义(defin…

实验05多重循环---7-04 小于m的最大的10个素数

给定一个整数m&#xff08;50<m<20000&#xff09;&#xff0c;找出小于m的最大的10个素数。 输入格式: 输入在一行中给出一个正整数m&#xff08;50<m<20000&#xff09;。 输出格式: 在一行中按递减顺序输出10个满足条件的素数&#xff0c;每个素数输出占6列。…

模型 泰斯勒定律(复杂性守恒定律)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。复杂性守恒&#xff0c;转移而非消除。 1 泰斯勒定律的应用 1.1 电视遥控器的复杂性转移 在过去&#xff0c;电视遥控器设计得非常复杂&#xff0c;拥有许多按钮和功能&#xff0c;这使得用户在使用…

前端注释都应该怎么写?

以下是一些前端注释的例子&#xff0c;展示了如何应用前面提到的建议&#xff1a; 1. 使用清晰、简洁的语言 // 计算两个数的平均值 function calculateAverage(a, b) {return (a b) / 2; }2. 描述代码的目的和功能 // 将日期格式化为 "YYYY-MM-DD" 的字符串 fun…

KubeSphere v4 扩展组件使用指南

KubeSphere v4 扩展组件使用指南 日前&#xff0c;KubeSphere v4 发布&#xff0c;相较于之前的版本&#xff0c;新版本在架构上有了较大的变化。其中&#xff0c;有一个新的概念——扩展组件。 本文我们将针对扩展组件做一个详细的说明&#xff0c;让大家对扩展组件能够了解…

后端-内连接(INNER JOIN),左外连接(LEFT JOIN)和右外连接(RIGHT JOIN)的区别

SQL 语句中的 内连接、外连接、左连接 和 右连接 是常见的用于联合多张表的数据查询方式。它们的区别主要体现在如何处理在连接的表中没有匹配数据的记录。 1. 内连接&#xff08;INNER JOIN&#xff09; 内连接是最常见的一种连接方式&#xff0c;它返回两个表中满足连接条件…

【Orange Pi 设备】window11主机下使用VNC可视化控制RK3566

【Orange Pi 设备】window11主机下使用VNC可视化控制RK3566 前言VNC连接搭建(WiFi模式)Orange Pi 3B操作本地主机操作 总结 XFCE桌面VNC连接后灰屏问题&#xff0c;可以优先尝试本文的方式 前言 Orange Pi 3B 是一款基于瑞芯微 RK3566 处理器的单板计算机&#xff0c;旨在为开…

Go 语言的函数调用

1. 引言 Go 语言的函数调用是其核心特性之一,Go 的函数调用方式既简洁又强大。理解 Go 语言中的函数调用机制不仅有助于编写更高效的代码,也能帮助开发者深入了解 Go 的并发模型和内存管理。 在这篇博客中,我们将详细探讨 Go 语言的函数调用机制,了解函数的声明、调用、参…

【VUE+DRF】案例升级

1、功能完善&#xff08;简易版&#xff09; 1.1 后端API校验 基于drf的认证组件实现只有登录之后才能查看 utils/auth.py from rest_framework.authentication import BaseAuthentication from rest_framework.exceptions import APIException, AuthenticationFailed from…

背靠背MOS管-锂电池充放电控制详解

目录&#xff1a; 1、概述 2、外接适配器 3、使用锂电池 4、电池检测回路 1、概述 本锂电池充放电控制电路采用 TP4055 作为电池 BAT 的充电控制&#xff0c;如下图1.1绿色框所示。 TP4055 引脚功能描述&#xff1a; 1CHRG开漏输出的充电状态指示引脚&#xff0c;需要上…

嵌入式软件八股文

1.指针的大小是固定的&#xff0c;和指针的类型没有关系 只与编译器有关&#xff0c;32位系统指针大小为8个字节&#xff0c;x64一般为64位系统&#xff0c;指针大小一般为4个字节。 2.sizeof()和strlen() sizeof()计算所占内存的大小,可以计算int float大小 strlen()计算的…

美畅物联丨物联网通信新纪元:Cat.1与5G RedCap的差异化应用

​ 在物联网&#xff08;IoT&#xff09;迅猛发展的时代&#xff0c;通信标准对物联网设备的连接性、性能和适用性有着极为关键的作用。小编在《美畅物联丨Cat.1与NB-IoT&#xff1a;物联网设备的通信标准对比》中提到Cat.1与NB-IoT的对比区别&#xff0c;后来就有小伙伴问&…

单表查询题库

1. 查看course表结构的SQL命令是什么&#xff1f; A. SELECT * FROM exam.course; B. \d exam.course; C. \d exam.course; D. DESCRIBE exam.course; 答案&#xff1a;C 2. 使用哪个SQL命令可以查看exam.course表中的所有数据&#xff1f; A. SELECT * FROM e…