自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 STM32独立看门狗(IWDG)溢出时间计算

独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。从上图我们可以看出IWDG的时钟源为40KHz,经过预分频器后给看门狗提供时钟。与看门狗设置相关的需要设置的参数包括预分频和重载值。IWDG是递减计数。如上图所示:40K时钟4分频之后,T=1/f=0.1ms,所以最大值为4095*0.1ms=409.5ms。

2023-11-08 19:11:08 1033

原创 STM32F030在使用内部参考电压 (VREFINT)时与STM32G070的区别

STM32内部参考电压

2023-10-07 12:10:25 1269

原创 引线对测温型NTC的响应时间的影响

测温型NTC引线对温升的影响

2023-09-11 09:58:20 184

原创 APM32 CAN总线离线

CAN 离线

2023-09-07 15:01:05 174

原创 单总线温度传感器DS18B20通信

单总线通信,DS18B20

2023-08-16 09:18:47 134

原创 测温型 NTC 热敏电阻器的温度计算方法

NTC热敏电阻,温度

2023-08-10 10:30:13 2477

原创 ROM、RAM和Flash的特点

ROM:Read-Only Memory(只读存储器),系统掉电后可保存数据。RAM:Random Access Memory(随机存取存储器),掉电后丢失数据。

2023-08-09 10:27:03 116

原创 hex文件与bin文件的区别以及如何在keil中生成bin文件

一般是指Intel标准的HEX文件,文件内容都是ASCII编码,HEX文件中同时包含数据和地址信息,所以在烧写或下载HEX文件的时候,不需要用户指定地址。BIN文件只有纯粹的数据(代码)信息,并不包含地址,所以烧写BIN时就需要指定烧写地址,一般可以在烧写工具上修改。在Keil MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。*.bin格式的文件在很多情况下也是需要的,借助Keil MDK 的fromelf.exe工具既可以实现。最后一个0xFA是校验码。

2023-08-07 09:06:07 517

原创 APM32F072 CAN模块配置

CAN

2023-07-27 10:26:36 228

原创 STM32G070 RTC 日历溢出导致的问题

RTC

2023-07-24 17:38:31 268

原创 浮点数转化到数组

【代码】浮点数转化到数组。

2023-07-21 08:56:26 562

原创 APM32F072开发---中断正常,但是主程序不运行

串口中断导致死机

2023-07-08 17:21:29 222

原创 APM32F0xx开发------程序能下载但是运行和debug有问题

百度了很多可能性,尝试着都没成功,但是把例程的程序烧进去都能跑,然后对着例程的工程,一点一点的看,后来发现例程中device选择的是APM32F072VB,我用的是APM32F072CB,所以我在我的工程中将device改成了APM32F072CB。等到板子到了的时候,按照惯例,烧进程序闪灯,然而此时发生了一些莫名其妙的事情,程序能下载进去,但是呼吸灯并没有按照预想的闪烁起来。我可能是在例程中工程的基础上进行了开发(具体是啥我忘了,但是后边出现的莫名其妙的问题应该与此有关)。有时候就是这么神奇!

2023-07-07 10:48:59 129

原创 极海MCU---Std库与HAL库区别之时钟配置

习惯了使用STM32CubeMX配置STM32系列单片机(使用的是HAL库),最近使用APM32系列的单片机,官方提供的例程是使用的标准库(Std库),据说STM32的HAL库和标准库都能与APM32无缝连接。想使用一下标准库来开发,配置时钟时发现HAL库和标准库有一些不同。使用STM32CubeMX配置时钟的话,选好时钟,做好分频,代码自动生成了;而使用标准库的时候就需要自己来更改代码来完成时钟配置了。在HAL库的SystemInit函数中并没有时钟配置,需要单独再去配置。

2023-06-25 18:28:52 416

原创 极海MCU---keil5手动添加Pack

keil5手动安装APM32的的pack文件

2023-06-20 17:32:24 8432

原创 WIFI模块开发总结(MCU)

在很多产品的应用场景中,WIFI网络会给我们提供很多亮点,MCU开发中大多使用串口WIFI模块来实现产品接入WIFI网络中。具体的使用模型如下图所示:整个系统设计到WIFI网络、手机、服务器平台以及我们设计的产品,一个完整的生态是这样的。服务器端要有数据库和管理平台,手机端有一个APP来远程查看或者操控,大部分的只能家居产品都是这个模式。

2023-05-26 17:08:41 1174

原创 Keil常见错误/警告 解释以及解决办法

keilMDK

2023-05-23 14:57:52 3474

原创 STM32使用内部参考电压提高ADC采集准确度

STM32内部参考电压

2023-05-17 16:52:11 4674

原创 AP模式下,WIFI模块作为客户端使用

WIFI模块AP模式下作为客户端

2023-05-11 16:46:38 305

原创 STM32串口溢出中断问题

STM32串口溢出中断

2023-04-23 16:59:26 2417 6

原创 结构体变量和指向结构体指针对于结构体成员的访问

结构体定义由关键字 struct 和结构体名组成,结构体名可以根据需要自行定义。是结构体标签。是标准的变量定义,比如 int i;或者 float f;,或者其他有效的变量定义。结构变量,定义在结构的末尾,最后一个分号之前,可以指定一个或多个结构变量。

2023-04-18 19:20:51 547

原创 电量计BQ35100的ACC模式使用

项目使用锂亚电池供电,由于锂亚电池的放电特性(电压在使用过程中比较稳定),很难通过电池电压来判断电量,这一点和锂电池相比是不同的。为了能够准确地测量锂亚电池的电池使用情况,我们选择使用电量计BQ35100来监测电池容量。

2023-04-18 13:57:02 613 5

原创 C语言解析字符串中的数字字符串

在物联网设备开发中我们经常会遇到字符串解析的问题,例如平台端发送来一串时间字符串“23-04-14 15:12:23”,MCU在接收这一串字符串后需要将数字字符串分解开,本文介绍一种数字字符串的解析方法。

2023-04-14 13:56:56 555

原创 基于ADC电压采集的锂电池电量显示方法

设备采用锂电池供电,可充电,MCU的ADC采集计算锂电池电压,电池电量根据锂电池放电特性,电池电量三段段码显示(分段式显示)。

2023-04-13 14:23:39 5002

原创 手机连接WIFI模块测试(WIFI模块工作在AP模式下)

WIFI模块工作在AP模式下,手机连WIFI模块进行通信

2023-04-12 15:35:25 1756

原创 LIS3DH(3轴加速度计)使用

LIS3DH 是属于 “nano” 系列的超低功耗高性能 3 轴线性加速度计,具有数字 I2C、 SPI 串行接口标准输出。器件具有超低功耗工作模式,可实现高级节能、智能睡眠唤醒以及恢复睡眠功能。LIS3DH 具有 ±2g/±4g/±8g/±16g 的动态用户可选满量程,并能通过 1 Hz 到 5 kHz 的输出数据速率测量加速度。

2023-04-06 14:16:36 2007

原创 物联网通信方式汇总

红外技术–最广泛的通信和遥控技术红外线传输是目前使用最广泛的一种通信和遥控手段。红外遥控装置具有体积小、功耗低、成本低等特点。现在的家用电视、空调等电器上基本都是使用的红外遥控技术。

2023-04-04 09:34:19 425

原创 WIFI模块不支持MQTT协议,可通过MCU实现

我们使用某款WIFI模块,在物联网开发时,平台端的开发者想要使用MQTT协议,但是我们当前使用的模块不支持MQTT协议(好像ESP8266可以通过重新烧录固件的方式支持),使用新的模块成本会增加。经过初步研究,发现MQTT协议就是基于TCP/IP的协议,WIFI模块只要能提供TCP连接,可以通过MCU的代码实现MQTT协议,而且已经有封装好的底层函数提供调用。

2023-04-03 14:23:43 909

原创 SCD40自动校准Automatic Self-Calibration (ASC)

SCD40传感器是具有自动校准的功能的,在其技术手册中提到的,为了保证传感器在使用过程中的准确性,我们也是用了自动校准功能。在另一份手册中提到:除了周期性的触发自动校准功能,还有就是:如果在2分钟内二氧化碳读数低于400 ppm,则立即触发自校准。有些特定试验条件下(比如高低温箱)会导致传感器测量低于400ppmCO2的情况,正常来说大气中的CO2不会低于400ppm。

2023-03-17 11:43:09 381 6

原创 WIFI模块AT指令配置模块连接路由向公网发送数据(花生壳内网穿墙)

WIFI联网

2023-03-14 16:02:23 1106

原创 SCD40功耗测试

scd40

2023-03-06 11:59:28 133

原创 TM1621/HT1621 段码LCD驱动器

TM1621 LCD 驱动器

2023-02-17 10:50:16 5758 4

原创 SCD40---微型CO2传感器使用

SCD40 微型CO2传感器

2023-02-14 15:04:37 974

原创 MSP430串口中断接收丢数据----(中断优先级问题)

MSP430

2023-02-14 09:03:39 1135

原创 STM32CubeMX生成代码问题

STM32CubeMX

2023-02-08 13:59:54 2068

原创 STM32的RTC设置年份不正确的问题

RTC

2023-02-03 15:34:39 1072

原创 W25QXX芯片使用

W25QXX

2023-01-31 17:44:29 1057

原创 NB模块低功耗调试

NB模块使用

2023-01-07 14:51:43 668

原创 STM32库函数开发---库文件简介

STM32库函数开发—库文件简介STM32的3.5版本库#mermaid-svg-KHznvxZoUmomRPbz .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-KHznvxZoUmomRPbz .label text{fill:#333}#mermaid-svg-KHznvxZoUmomRPbz .nod

2021-02-28 11:39:43 801

原创 const与constexpr的区别

const与constexpr的区别const:对象变量一旦创建后其值就不能再改变,const修饰的变量必须初始化。constexpr:在C++11新标准中规定,允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式。例如int a=12;const int b=a;//编译能通过,程序运行到此处是初始化,此时a已经初始化值constexpr int c=a;//编译不能通过,因为constexpr修饰的变量在编译时

2020-07-20 21:40:08 854

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除