- 博客(47)
- 收藏
- 关注
原创 基于ESP-IDF的ESP32开发记录——如何通过预编译代码得到.a文件以及如何链接.a文件进代码 实现代码加密
这篇的背景是三方协作的场景下,有一部分核心算法要对其他协作者保密,只能对外暴露一个接口,具体的实现方法需要加密。IDF版本:v5.2.1于是就想到了先把需要加密的方法封装成一个.a文件,并提供一个.h文件供其他人调用。在网上查了不少资料发现大家很多都是基于idf4.x版本以及更早期版本些的教程,很多方法在idf5.x就不适用了。所以写此文章用做记录和分享。首先,在idf的目录是有详细的例程的,目录如果跟我一样是默认安装的话,基本会在:C:\Espressif\frameworks\esp-idf-v5.2
2025-02-13 16:37:53
1060
原创 基于ESP-IDF的ESP32开发记录——添加多个自己编写的组件
搞明白了根目录下的cmakelists之后,我们知道项目文件夹内的components是cmake帮我们包含的idf目录下的官方组件,如果我们想要新增自己的组件user_components,那么直接把自己想要添加的组件写在components文件夹内,main文件也能调用到。在用户组件这个文件夹内,自己编写的 如组件 system 这个组件的文件夹内,还需要编写这个组件自己的cmakelists,作用就是告诉cmake这个组件内有哪些.h 有哪些 .c 有哪些依赖。
2024-09-10 19:55:46
2591
4
原创 中微8S6990 EEPROM踩坑记录
原先是我个人的误解,原先我理解为了擦除CODE区的最小操作单位是扇区,而DATA区的最小单位是字节。所以也是一个乌龙事件。。
2024-08-27 15:37:46
1025
2
原创 基于ESP-IDF的ESP32开发记录——自己新建组件以及添加依赖
工作需要,今年开个新坑ESP32。纯小白,很多地方也是自己摸索的,可能有写地方会误人子弟,看客们见谅。
2024-06-05 09:39:33
4182
1
原创 Win11有些exe双击后无反应的解决办法
这样就搞不明白不能运行的理由是什么了,原先推理是名字带有中文,所以我把exe名字改为“64bit.exe”,实测能运行。然后我又把名字改为“64位.exe”,程序仍然能运行,那我就推理可能是下划线导致,所以最后我把名字改为“纸飞机调试助手64位”,结果程序就不能运行了。对于”SOC Programming Tool.exe“这个安装引导文件,我把名字改为“v1.5.exe”,双击后现象依旧是小圆圈转动一下后消失,然后没任何反应。对于纸飞机调试助手,我把应用名字改为64位.exe就可以运行了。
2024-05-29 16:02:18
20942
7
原创 中微8S6990使用过程的一些记录--GPIO初始化、定时器、PWM、ADC、休眠等外设的配置和使用
中微8S6990单片机的GPIO初始化、定时器、PWM、ADC、休眠等外设的配置和使用
2023-03-06 18:38:50
4363
4
原创 J-Link报错:The connected probe appears to be J-Link clone. 检测到非法J-link 以及 J-Link is defective的解决方法
J-Link报错The connected probe appears to be J-Link clone 即盗版J-Link被检测出来的解决方法,以及J-Link固件与Keil固件版本不一致引起报错The connected J-Link is defective,Proper operation cannot be guaranteed的解决办法
2023-02-24 11:44:39
7583
原创 [标准库]STM32F103R8T6 高级定时器--PWM输出和带死区互补PWM输出
STMF103R8T6通过高级定时器输出四路PWM信号,并实现带死区/不带死区互补输出、刹车这些功能
2023-02-11 16:48:37
3688
原创 [标准库]STM32F103R8T6 DMA的初始化以及利用DMA+UART1发送数据
STM32F103R8T6 通过DMA搬运数据到串口发送寄存器,配置与使用方法
2023-01-21 01:59:29
1653
原创 [标准库]STM32F103R8T6 EXTI中断以及系统滴答定时器SysTick的配置和使用
STM32F103R8T6 系统滴答定时器产生中断和EXTI中断的方法
2023-01-17 17:46:14
1721
2
原创 [HAL库]STM32F103C8T6--使用定时器3产生硬件PWM
这篇博客介绍下我是如何使用CubeMX生成基础环境并调用HAL库来产生硬件PWM的。
2022-10-07 12:48:08
4305
2
原创 [HAL库]STM32F103C8T6定时器2实现LED闪烁
这篇博客介绍下我从环境配置到烧录STM32F103C8T6并使用HAL库点灯的过程。
2022-10-02 17:06:51
3457
原创 九齐NY8BE62D/NY8B062D中硬件PWM的用法
E62D是有5路PWM的,并且功能说明里面有说PWW5是可以驱动半桥和全桥,有P1A,P1B,P1C,P1D四个输出口。这篇文章介绍下其中几路的使用方法和半桥输出模式里面互补输出的使用方法。
2022-09-28 18:42:24
4477
2
原创 九齐051D写的433遥控器
前言最近一个项目需要实现433遥控器,用九齐的051D写了一个,分享出来加深下印象。433遥控器,麻烦的是硬件电路,软件部分其实很简单,跟38K的遥控器没什么区别,都是给一个有效电平,然后433发送芯片通过板上的板载天线把433Mhz频率的信号发出。难在硬件设计这块,关于硬件用到的芯片是WF4455TD,是从别处照搬过来的电路,所以没什么可以分享的。软件部分如下:/* ==================================================================
2022-05-23 18:37:35
2956
10
原创 继电器的使用方法
上周一个小项目中犯了个低级错误,记录一下,以免再犯。继电器其实就相当于一个开关,只不过这个开关不是用手去按,而是通过一定的触发条件。拿5V继电器来举例:这是一种接法,开关部分,L->开关->负载->N,这样就形成了一条通路。控制部分,线圈并联一个二极管用来保护三极管。当三极管导通,线圈形成回路,当三极管闭合,线圈就产生感应电。并联一个二极管起到续流作用,让感应电在线圈中消耗掉。本质上控制三极管来让线圈导通,导通后就能吸合强电部分的开关。画PCB的时候注意线圈跟开关的脚位,一定要
2022-03-07 18:41:44
8536
2
原创 九齐单片机位定义的方法
九齐单片机不能直接用bit这条指令新建一个bit类型的变量,但是可以通过新建一个八位的无符号变量,然后单独定义里面的每一位,拆开来用。有的时候RAM不够用,这个方法也能适当的省出一点点空间。unsigned char flag0=0;__sbit bit1 = flag0:0;__sbit bit2 = flag0:1;__sbit bit3 = flag0:2;__sbit bit4 = flag0:3;__sbit bit5 = flag0:4;__sbit bit6 = flag0:5
2021-09-10 15:56:13
3160
3
原创 [持更]边工作边总结,记录日常遇到的一些坑
画板子先出原理图!!画板子先出原理图!!画板子先出原理图!!调试的时候,暂停了之后时钟还是会跑,定时器的值还是会变。掉电模式,进入掉电模式之前要把所有IO口的状态设好,不然浮空的脚或者没有处理好的脚会漏电。现象:N76E003 进入掉电模式,仿真里面定时器还在运行,实际电路测试待机功耗有200多UA。解决方法:关闭ADCEN、BOD、POF寄存器,实测待机功耗减小。三脚电感升压:中间抽头接mos漏极(通过MCU输出PWM控制MOS导通),线圈少的一头(与中间抽头两端电阻小的)接5v(供电脚),线.
2021-09-03 11:50:11
1545
原创 九齐单片机 NY8A051D点亮LED
写在前面这段时间接触九齐的051D,记录一下怎么快速入门这款单片机定时器跟普通的8051单片机使用方法类似,直接上代码:#include <ny8.h>#include "ny8_constant.h"#define UPDATE_REG(x) __asm__("MOVR _" #x ",F")#define u16 unsigned int#define u8 unsigned charvoid delay_ms(int);#define key
2021-05-25 11:48:05
15812
19
原创 Keil V5 C51官方安装包(截止至210519最新版本)
问题描述昨天干一个工程的时候,同样的板子,同样的烧录器,同样的工程文档,结果一台电脑能正常烧录,一台电脑死活不行。重新安装Keil问题解决,强烈建议大家到官网下载相应的软件,像keil这种可以用注册机的,用官网的软件也是可以一样激活的,千万别图方便百度搜了随便一个什么网站就下来用,要么软件哪里阉割了,要么版本是远古版本,日后出问题的时候哭都没地方哭。官网Keil V5 C51最新的安装包:https://pan.baidu.com/s/1GF6rt6HJg77jX8LcE2VQlQ提取码:mb9c想
2021-05-19 11:56:38
3991
1
原创 STC12C5A60S2上两路PWM的使用方法
写在前面 这篇博客介绍下如果使用STC12C5A60S2这款单片机上两路自带的PWM模块输出占空比不同的方波。 先上代码:/*------------------------------------------------------------------*//* --- STC MCU Limited ---------------------------------------------*//* --- STC12C5Axx Series MCU PCA module output P
2020-05-26 19:12:01
5355
原创 51单片机实现流水呼吸灯
写在前面这篇博客介绍下用定时器来产生占空比不同的方波,完成了呼吸灯的效果,同时可以实现多个led灯同时呼吸形成类似流水的效果。 主要用到定时器0来形成一个1ms的中断,每次进入中断服务程序会让小灯当前处于的周期加1,用这个周期与设定的亮x个周期对比,这样就可以让小灯占空比改变,让这个x改变就可以让小灯形成呼吸效果。 MCU:STC12C5A60S2 平台:普中HC6800-ES V2.0 所有代码如下:/********************************************
2020-05-09 09:19:54
8921
2
原创 (EEPROM的读写)AT24C02在51单片机上的使用方法
写在前面 这篇博客记录下我在开发板上使用AT24C02芯片的过程。 本次用AT24C02实现的是EEPROM的功能,可以实现断电记忆功能。 24C02与单片机使用的是IIC协议通信,这个协议网上的资料很多,这里就不再赘述了。下面给出各功能的代码。 单片机告诉24C02开始发送数据:/*************************************************...
2020-05-07 17:36:58
5053
1
原创 51单片机+ESP8266实现局域网内WiFi控制LED
写在前面 这篇博客是我初探物联网,东西简陋代码简陋,让各位看官见笑了哈。话不多说直接进入正题。 首先大致介绍下ESP8266,我用的是ESP-01这款,安信可的,具体参数大家可以直接上安信可官网找到资料,非常详细。ESP8266文档中心:安信可ESP8266文档中心 ESP-01原理图: 这个应该是正视图,就是蛇形线那一面朝上,然后孔位对应如上图。 接线方面,GND...
2020-03-25 19:13:02
11619
15
原创 工作记录3--遥控解码不正常
写在前面上周给一个工程写遥控代码的时候遇到一个硬件问题,自己在代码里面改来改去,醉了,这里做个记录下次免得再犯。 问题现象是 我按住遥控器上面的某一个按键,遥控器会一直发码,程序中正常的处理是只识别一次,如果有长按功能再进入长按响应。但是当我按住其他无长按功能的按键后,单片机也相应了按键,而且响应时间非常不规律。我判断是程序中一直进入了新键码处理的程序。但我程序的原逻辑是按住不松手的话会把一...
2020-03-16 11:25:47
358
原创 工作记录2
写在前面近期工作中遇到很多小问题,记录一下解决过程,日后方便回忆。 在15547这个工程中,分为ABCD四块板,A板是采用开关电源方案的电源板,B板是显示板,C板是按键板,D板是灯板,A板通过一个4pin的排线接到B板上,通过两个IO口进行通信,A板上的VDD和GND通过另外两个口线给B板供电。 电路同上篇学习记录是同一个,如下: 这个12V是给继电器供电的,过了12V之后的这...
2020-03-05 18:06:30
957
原创 电路学习01
学习记录这篇记录一下些零碎的硬件方面的小知识,方便回忆也能在写的同时加深理解。 1.设计电路时,应该要考虑到选用不同电源方案时产生的总电流大小,然后根据实际需要选用不同的电源方案,比如阻容降压可能只能提供70mA左右的总电流量,如果需要带两个继电器外加些可控硅,那么这个方案就不适用,因为一个继电器大概需要消耗掉30mA-40mA的电流,两个一起就是70mA如果选用阻容降压的方案,那么能够分给...
2020-03-04 19:34:40
3795
原创 AD按键扫描中串联电阻转换值的计算方法
写在前面最近请教了一位前辈,终于搞明白用AD做按键扫描转换值的计算方法,这里写一篇博客加深下印象顺便给大伙儿分享一下。 总的来说,无论是用AD扫描按键还是用AD检测温度,湿度,亮度……原理都是利用电阻值不同来使转换出来的AD值不同,然后在程序中对这些值做判断从而识别出是哪一个按键按下或是温度等数值。 还是用上篇博客的按键扫描来做举例,电路图如下: CN7这边,每条线都是通过串联一个1...
2020-02-27 09:33:20
5550
原创 工作记录1
写在前面记录下15547这个工程自己犯的错,警醒自己。 首先这块板是由两个口线作AD输入口来检测按键输入,相应阻值对应的AD转换值不清楚,日后要查明原理,这里先做个简单的记录,死记。 电路图如下: 这里电阻的阻值都是有讲究的,要放多大,对应的AD值是多少,都是有公式计算的,这里我不懂,先略过。。 同一端口中里面不允许有两个相同阻值的电阻,不然按下一个按键,程序中会响应成按下...
2020-02-25 18:09:15
286
原创 单片机与上位机的串行通信
写在前面 这篇博客主要记录下单片机是如何通过TXD、RXD与上位机进行数据交换的。 先介绍下51单片机中与串口通信有关的各种寄存器。 首先,上位机如果要发送数据给单片机,单片机接收到数据之后,会存入到SBUF这个发送/接收寄存器,这个寄存器非常特殊,兼具发送和接收时存放数据的功能。如果是data = SBUF,则会把SBUF接收到上位机发送过来的数据存入到data中;如果是SBUF =...
2019-12-06 14:47:19
14631
1
原创 使用状态机的按键扫描(单击、双击和长按)
写在前面这篇博客记录下前面用到的状态机按键扫描漏掉的一个实验项目,单个按键的单击、双击和长按的检测。 代码如下:#include <reg52.h>typedef unsigned int uint16;typedef unsigned char uint8;#define no_key 0xff#define key_state0 0#define key_stat...
2019-12-04 16:22:32
2537
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人