- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 单片机代码解耦
我们可以创建一个operation结构体,内含open、close、write、read等成员,当打开某个模块后调用这些入口,实际上使用的是模块源文件中具体实现的各个函数原型。如此,应用程序无需包含模块的头文件,也无需显性的调用模块的函数,实现了应用程序与模块之间的解耦。同时,工程不需要增加头文件的包含,不需要增加函数的声明,该设备代码的增减不影响编译,不会产生报错。另一个是用于处理数据的函数。要解决麻烦1,最好能将模块的初始化写在它自身的源文件内时,main函数也可以自动调用模块初始化函数。
2024-09-25 21:26:43
1189
1
原创 STM32定时器的霍尔和PWM
最近在搞BLDC的方波控制,关于霍尔的检测与PWM换相的联动这块,看了开发板的源码,也看了不少文档,但是都说的不详细。当然很多都是开一个定时器,轮询霍尔IO的电平,并没有用硬件定时器捕获,有其优点。日常习惯使用obsidian,可惜就是不能分享,复制一份在此,若有错误,望指正。STM32可以由一个定时器检测霍尔信号,称之为接口定时器。由另一个高级定时器输出三组互补PWM。这两个定时器可以单独工作,也可以设置为主从触发。
2024-04-16 16:09:46
1582
2
原创 ESP32的应用程序启动与PSRAM初始分析
测试记录PSRAM的启动,占用了MUC从上电到进如app_main的大部分时间。在低功耗产品中,PSARM的待机电流并不小,以乐鑫的PSARM手册来看,待机电流200uA涉及两点PSRAM的默认上电启动,影响进入应用程序的速度(需要500+ms,初始化+TSET)PSRAM如果长期待机,功耗不低,如果电源受控,启动过程需加电源IO控制所以PSRAM的上电时机,最好由MCU应用程序控制,而ESP-IDF的默认初始化PSRAM却在BOOT之后,在app_main之前。分析PSRAM默认的启动
2021-12-31 10:06:59
5732
原创 eclipse的C/C++自动补全和提示插件
eclipse的C/C++自动补全和提示插件制作失败修改方法附文件制作失败C的自动补全不能像JAVA一样直接配置实现。要么下载一个jar替换,要么自己修改源码然后生成jar后替换。实际上网上下载的多数jar都太旧了,还是自己修改吧。修改方法感谢这位老哥的帖子https://blog.youkuaiyun.com/Ningjianwen/article/details/107955651实际操作下,失败在最后。按原文中的方法,导出的jar才几百K,实际上原来的jar有5M左右。后来尝试,最后按照Expo
2021-12-29 15:21:30
3619
原创 TG7100C二次开发——自定义属性设置与上报
TG7100C二次开发——自定义属性设置与上报消息发送过程消息接收处理过程自定义属性实现方法最近学习TG7100C的二次开发,遇到了不少问题,最主要的是外设的开发,很多外设功能再aliosthing的上层库函数中还没有实现,比如ADC。此处先对属性的上报和下发,做一些记录,以实现新增我们需要的属性值,方法尚未整体测试,仅供参考。消息发送过程report_device_property——上传设备属性实际上是把设备状态结构体的数据,传递到属性上报结构体(property_report_msg_t
2021-01-26 13:17:51
3392
4
原创 阿里云一型一密免预注册——单片机C语言实现
阿里云一型一密免预注册——单片机C语言实现一型一密一型一密免预注册代码一型一密一型一密两种使用方式:● 一型一密预注册:设备联网前,需要在物联网平台预注册设备DeviceName,建议采用设备的MAC地址、IMEI、SN码等作为DeviceName。物联网平台为设备颁发DeviceSecret。云端鉴权成功后,设备采用设备证书(ProductKey、DeviceName和DeviceSecret)与云端建立通信连接。支持通过MQTT通道、HTTP通道进行一型一密预注册认证。● 一型一密免预注册
2020-11-23 16:56:09
1657
3
org.eclipse.cdt.ui_7.2.0.202106050127.jar
2021-12-29
器件种类、数量、单价填充、总价自动求和.zip
2020-07-16
水处Smart200PLC、显示屏程序.zip
2020-07-16
Smart200水处理控制原理及编程.zip
2019-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人