-
探索sprintf-C语言编程的利器
在C语言编程中,sprintf头文件是一个非常常用的工具,它可以帮助我们实现字符串的格式化输出,让我们能够更加轻松地处理字符串操作。本文将探索sprintf头文件的各种用法和应用场景,帮助读者更好地掌握这个实用的工具。 函数包含在stdio.h头文件中,使用时需要加上编译预处理命令: #include<stdio.h> 1. sprintf头文件的基本用法 sprintf头文件的基本用…- 19
- 0
-
单片机ADC常见的几种滤波方法
如今传感器的种类越来越多,数量也越来越多,而这些传感器很多都会用到模拟量,模拟量就离不开ADC。 然而,我们单片机ADC采集的模拟量基本都会经过“滤波”处理才能使用,下面给大家分享一些常见的ADC滤波算法。 一、限幅滤波 1、方法 根据经验判断两次采样允许的最大偏差值A 每次采新值时判断:若本次值与上次值之差<=A,则本次有效;若本次值与上次值之差>A,本次无效,用上次值代替本次。 2…- 30
- 0
-
单片机嵌入式软件自动版本号生成方法
嵌入式软件版本管理一般都是人工维护,容易被遗忘造成不同软件相同版本号,而对应的开发工具如Keil或IAR,目前没有发现编译前可加载exe方式外部修改版本号的方法。 当然有人会说可以用 __DATE__,__TIME__代替版本信息,标准C库都具有这两个宏,但输出的格式太长不理想,作为一个数字强迫症,只好自己想办法在预编译时把当前时间处理成数字版本号。 本文也是从这两个宏下手,通过预编译计算出数字版…- 39
- 0
-
【DS18B20】温度传感器-程序分析
简介 DS18B20采用的是单总线的接线方式,只用一条线与单片机进行数据的输入和输出,具有经济性好,抗干扰能力强等优点。测量的温度范围是-55℃到125℃。在使用DS18B20的时候,输入输出引脚要接一个上拉电阻,这里接的是10K的上拉电阻,上拉电阻用于在总线不使用时保持线路处于高电平状态,DS18B20传感器测量的温度值将存储在传感器内部的一个2字节寄存器中。VDD可接3.3V-5V的电源。 D…- 292
- 0
-
阿里云创建产品设备以及编辑APP
阿里云的产品创建以及设备的编辑如下视频演示 本次更新 2023年4月24日 最新 本次更新 2023年1月24日 进入阿里云官网:https://www.aliyun.com 我们首先注册一个账号,然后登录(最好使用支付宝扫码登录,这样可以方便实名认证),登录后,找到这个界面,鼠标放上去就自己弹出来了。 进去后,就是这个界面,然后,进入管理控制台。 进入后,会有下面这个界面,我们需要新建一个项目…- 333
- 0
-
-
腾讯云平台创建产品和设备
现在万物智联的时代, 作为一名全栈开发工程师,无线点灯已经成为基本功了,要对自己产品有所优势,就务必把更好玩、更吸引人、更创新的玩法想出来并实现分享给大家! 腾讯物联网平台升级了,已经结合微信小程序配合从 配网、绑定、控制和分享设备了,真正融合进微信生态啦! 而 “腾讯连连” 一个配网、绑定、控制和分享设备的微信小程序!请观看下面两个视频! 开发平台链接:https://console.cloud…- 280
- 0
-
心率传感器的使用讲解
视频讲解 心率传感器的使用,重要的是要获取到心率值,本篇文章将介绍一种采样数据处理算法——动态阈值算法,来获取心率值。 IBI和BPM 心率,指的是一分钟内的心跳次数,得到心率最笨的方法就是计时一分钟后数有多少次脉搏。但这样的话每次测心率都要等上个一分钟才有一次结果,效率极低。另外一种方法是,测量相邻两次脉搏的时间间隔,再用一分钟除以这个间隔得出心率。这样的好处是可以实时计算脉搏,效率高。 IBI…- 256
- 0
-
物联网通信协议大汇总!
随着物联网设备数量的持续增加,这些设备之间的通信或连接已成为一个重要的思考课题。通信对物联网来说十分常用且关键,无论是近距离无线传输技术还是移动通信技术,都影响着物联网的发展。而在通信中,通信协议尤其重要,是双方实体完成通信或服务所必须遵循的规则和约定。 本文介绍了几个可用的物联网通信协议,它们具有不同的性能、数据速率、覆盖范围、功率和内存,而且每一种协议都有各自的优点和或多或少的缺点。其中一些通…- 195
- 0
-
STM32单片机重写printf函数-HAL库
本文介绍STM32单片机printf函数的使用方法 引入头文件 #include <stdio.h> 重写函数 typedef struct __FILE FILE; #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to &…- 236
- 0
-
STM32+NB-IoT(M5311)模组对接OneNET教程-HAL库
原理图 了解NB-iot程序流程 1、PWRKEY引脚至少拉低两秒(相当于使能) 2、通过 AT+MQTTCFG 指令进行MQTT内容设置,下面是OneNet举例(其他平台可能会有区别) u1_printf("AT+MQTTCFG=183.230.40.39,6002,%s,120,%s,%s,1,0\r\n", \ DEVID, PROID, APIKEY); //设置MQT…- 294
- 0
-
OneNET平台创建产品和设备
1、注册登录onenet平台 点击前往 :https://open.iot.10086.cn/ 登陆后点击控制台 之后鼠标移动到全部产品服务,点击多协议接入 2、创建产品 编辑产品信息,这里随便编辑即可,没有注意的事项。 3、创建设备 直接添加设备,这里鉴权信息最好是数字,后面程序需要用到 到这里就完成了。 我们需要以下信息- 180
- 0
-
STM32 ADC详细篇-HAL库
1、基础认识 ADC就是模数转换,即将模拟量转换为数字量数组 l 分辨率,读出的数据的长度,如8位就是最大值为255的意思,即范围[0,255],12位就是最大值为4096,即范围[0,4096] l 通道,ADC输入引脚,一般一个ADC控制器控制多个通道,若是须要多通道的话,就得进行每一个通道扫描了。 l ADC DMA功能,DMA是内存到内存或内存到存储的直接映射,数据不用通过单片机处理…- 3.9k
- 0
-
按键检测FIFO机制实现长按短按-有源码
一、如何进行按键检测 检测按键有中断方式和GPIO查询方式两种,推荐大家用GPIO查询方式。 1.从裸机的角度分析 中断方式:中断方式可以快速地检测到按键按下,并执行相应的按键程序,但实际情况是由于按键的机械抖动特性,在程序进入中断后必须进行滤波处理才能判定是否有效的按键事件。如果每个按键都是独立的接一个 IO 引脚,需要我们给每个 IO 都设置一个中断,程序中过多的中断会影响系统的稳定性。中断方…- 258
- 0
-
第四章 51单片机定时器
简述 51单片机有两个定时器T0和T1,而我们经常使用的单片机型号是STC89C52,比51多了一个定时器T2.定时器可以用来定时和计数。除了步进电机、超声波等比较特殊的用到定时器外,还可以用定时器进行倒计时、计数、对灯或蜂鸣器或其他的元器件进行状态的反转等。其实有的时候会用定时器体现“延时”的功能,但是用延时函数的话,会使整个程序停止运行,程序就会卡死,那用定时器就会解决这个问题。 1,工作方式…- 227
- 0
-
第三章-51单片机外部中断
简述 本文主要介绍了单片机的外部中断,总共有四个外部中断,本次讲解中用到了外部中断0和外部中断1。要使用外部中断,首先要在主函数中初始化,所以要写初始化函数,和中断服务函数。(视频中有一个错误,在下文外部中断初始化中指出来啦) 1 外部中断初始化 外部中断0初始化 void Int0_Init(void) { EA = 1; //打开总中断 EX0 = 1; //允许外部中断0触发中断 IT0 =…- 176
- 0
-
第二章-按键、蜂鸣器、灯
简述 本文主要介绍了三点 灯 蜂鸣器 按键 1 LED灯 只有当引脚P2.0为低电平时,LED灯亮。 因为在main.h 中定义引脚时名称写的是大写的,所以LED亮的单句程序为 LED = 0; 2 蜂鸣器 和LED灯一样,只有当引脚P2.1为低电平时,蜂鸣器响,所以单句程序为 BEEP = 0; 3 按键 看出可知按键右边连接的是低电平,而单片机引脚默认的是高电平,所以按键按下后按键两边都是低电…- 162
- 0
-
第一章-51单片机程序工程新建以及框架
简述 本文主要介绍了两点 工程新建 程序框架 示例 main.c /********************************** 作者:特纳斯电子 网站:https://www.mcude.com 联系方式:46580829(QQ) 淘宝店铺:特纳斯电子 **********************************/ /*******************************…- 80
- 0
-
序章-单片机学习入门应用教程
1、背景 在学习单片机的时候很多同学都是从入门到放弃的一个过程,本次有我们带大家看一下如何培养兴趣的去学习,也不是对着开发板每天敲代码,我们本次课程不仅给同学们有一个动手的过程,而且还能理解其中的原理所在,当然学习我们的这个课程前提是对C语言和数电、模电以及电路有着一定的基础,网上所有零基础多少天学会什么什么,都是不切实际的。因为在大环境下,你只是简单的使用并不是学会,而离学会距离很大,但是你可以…- 132
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!