- 博客(116)
- 资源 (11)
- 收藏
- 关注
原创 心跳跟随的心形灯(STM32(HAL)+WS2812+MAX30102)
在好几年前,我好像就看到了焊武帝 jiripraus在纪念结婚五周年时,制作的一个心跳跟随心形灯,感觉太浪漫了,于是在假期的时候,我也仿照做了一个,虽然还有很多需要完善的地方,但是大致功能已经实现了,下面开源讲讲开源的项目。心脏的外壳采用紫铜丝或黄铜丝焊接,1mm的铜丝较硬,适合完成外部框架的搭建,0.7mm的铜丝可塑性较好,适合焊接内部的WS2812,整个过程中吗,焊接难度较大,电子器件的固定难度也很大,我内部借助了一些热熔胶固定,有些丑,可以参考 jiripraus的固定方法。
2023-08-05 20:10:56 2783 1
原创 辉光管时钟学习制作及开源软硬件工程
作为一个电子人,一直想做一个辉光管时钟,算是大学的一个心愿,终于在快要毕业前做了一个,下面把软件和硬件的部分开源出来。我采用的是QS27-1辉光管,型号和QS30-1是一样的。一般用170v的电压加在阳极,串联一个20k-30k的电阻进行限流。引脚的判断方法一般是将引脚朝着自己,缺口朝上,顺时针方向为1号引脚,对应上图的引脚编号硬件采用的是锂电池供电,用type-c充电,tp4059进行充电管理。等之后有时间希望能重新画一画电路,弄成低功耗模式的板子,还有就是加入联网校正时间的功能,不用手动矫正时间了。
2023-02-27 11:54:14 2742 3
原创 stm32f103c6t6下的HAL库搭建三种低功耗模式及实战分析(stm32通用)
睡眠模式:只有内核时钟关闭,外设仍在运行;可以通过任意一个中断或唤醒事件唤醒;唤醒后回到睡眠的位置向后执行。(CM3内核停止,外设仍然运行)(数据保存)停止模式:关闭内核时钟、外设时钟,保留内核1.8V供电,寄存器和RAM中的数据可以保持,IO口状态也可保持;可以通过任意一个外部中断唤醒;唤醒后可回到停止的代码处向后执行,但要重新初始化时钟和外设。(所有时钟都停止)(数据保存)
2022-10-29 12:36:58 8058 11
原创 【立创开源】ESP8266制作的1.44寸TFT显示屏太空人天气时钟(st7735)(增加农历显示)(抄作业)
之前学习律动灯条的时候买了一块esp8266开发板以及1.44寸的tft屏幕,一直闲置,所以学习制作网上爆火的天气时钟。同时为了便携,制作成可充电版本(typec充电)!!!!!点击这里!!!!!!...
2022-08-19 10:25:31 11953 22
原创 ESP8285+WS2812+MAX9814制作的音乐律动氛围灯
该项目主要参考了立创EDA开源广场的项目:esp8285芯片ESP-01F模块为主控,MAX9814音频采集模块,WS2812 2020rgb灯珠,Arduino编程环境简单制作一个律动灯条。因为正在学习硬件PCB,所以只能算是一个仿照。下面附上原理图和pcb:相比原项目,我做的只是一个学习项目,为了能白嫖pcb打样,原来的30个ws2812我只用了20个,原项目的自动下载电路IMH3A因为太贵了淘宝还不包邮就换成了两个L8050Q,因为是后面画好pcb买材料时发..
2022-04-28 09:00:00 9302 4
原创 硬件基础学习之阻容感
硬件知识很多,高速/低速、低压/高压,平时对硬件知识的学习往往只有在实践中学习,零零散散,最近看到一个知乎博主,讲解的很好,打算从头开始,重新一点点累积知识。牧神园地。
2025-01-03 15:07:22 90
原创 Xilinx系FPGA学习笔记(九)DDR3学习
这里暂时先只介绍一下IP核配置生成和一些接口信号的含义,后续还需要补很多知识点和实际测试应用DDR3 已不是当今主流的 DDR 存储器,市场上的 DDR4和 DDR5 也已经应用广泛。但是 DDR3 存储器作为 RAM 存储器家族发展历程中的一个重要里程碑。最早是SRAM,由六个晶体管构成,实现1位数据的存储早期 SRAM 芯片对于晶体管的消耗量是巨大的,影响芯片的成本最大的一个因素就是芯片内部集成的晶体管数量,所以后续进行研发实现了是使用 1 个电容+1 个晶体管的组合,实现 1 位数据的存储。
2024-09-18 16:39:07 1179
原创 Xilinx系FPGA学习笔记(八)FPGA与红外遥控
利用红外线来传送,不干扰其他电器设备工作,也不会影响周边环境,若对发射信号进行编码,可实现多路红外遥控功能。红外遥控系统分为发射和接收两部分。发射部分的发射元件为红外发光二极管,它发出的是红外线而不是可见光。接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度。目前的产品,大都采用成品的一体化接收头。红外线一体化接收头是集红外接收、放大、滤波和比较器输出等的模块,性能稳定、可靠。
2024-09-15 22:16:16 912
原创 Xilinx系FPGA学习笔记(七)FIFO的IP核学习
FIFO(First In First Out),即先进先出。FPGA 或者 ASIC 中使用到的 FIFO一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存或者高速异步数据的交互。它与普通存储器的区别是没有外部读写地址线,这样使用起来相对简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加 1 完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
2024-09-11 11:09:59 1456
原创 Xilinx系FPGA学习笔记(六)RAM的IP核学习
写数据字节使能,如果勾选,写使能信号会根据写数据的字节数生成对应的 bit 数据,1 个字节对应 1bit 写使能,这里字节的大小可以设置为 8 或 9,当这里的选择后,输入输出的数据的位宽就必须是 8 或 9 的整数倍。Write First 模式下的波形,如果仅读出数据而未发生数据的同时读写,则读出存储器以前存储的数据,如果发生数据的同时读写,读出数据为刚从数据总线送入的数据,而不考虑该地址以前存储的数据。不创建置位/复位端口,需注意这里置位/复位,并不复位RAM 中的数据而是只复位寄存器上的值。
2024-09-10 19:13:17 689
原创 Xilinx系FPGA学习笔记(四)VIO、ISSP(Altera)及串口学习
VIO 的全称叫 Virtual Input/Output,建立一个虚拟的输入/输出信号,可以对需要调试的模块的输出信号的数值进行在线的查看,以及模拟一些信号输给需要调试模块,方便调试查找问题和验证模块的实际上板工作的正确性。之后编译下载 bit 文件,还同时需要下载 ltx 文件,ltx 文件是由于添加在线调试工具 VIO IP Core 额外产生的,这个文件生成位置和 bit 文件是在同一个目录下,下载的时候,软件会自动关联到 ltx 文件和 bit 文件一起下载到板子。是否设置IP核的ID号。
2024-09-05 22:44:45 1560
原创 Xilinx系ZYNQ学习笔记(二)ZYNQ入门及点亮LED灯
简单入门一下ZYNQ是何种架构,如何编程,至于深入了解应该要分开深入学习Linux和FPGA其基本架构都是在同一个硅片上集成 FPGA 和 CPU,并通过高速、高带宽的互联架构连接起来。ARM 的顺序控制、丰富外设,开源驱动、FPGA 的并行运算、高速接口、灵活定制、数字之王的特性交错相融,相得益彰。再加上其内部多条高速桥接总线,使其数据交互链路畅行无阻。SOPC 和 SoC FPGA 是统一的,都是由 FPGA 和处理器组成。
2024-08-17 22:58:44 1873
原创 STM32启动文件.s解析
启动文件由汇编编写,是系统上电复位后第一个执行的程序。启动文件主要做了以下工作:1、初始化堆栈指针 SP = _initial_sp2、初始化程序计数器指针 PC = Reset_Handler3、设置堆和栈的大小4、初始化中断向量表5、配置外部 SRAM 作为数据存储器(可选)6、配置系统时钟,通过调用 SystemInit 函数(可选)7、调用 C 库中的 _main 函数初始化用户堆栈,最终调用 main 函数。
2024-07-26 17:35:38 1218
原创 FreeRTOS实时操作系统(十七)流缓冲区、消息缓冲区、钩子函数
流缓冲区是任务到任务、中断到任务、双核之间数据传递的通信原语。数据通过复制传递,数据由发送方复制到缓冲区中, 并通过读取从缓冲区中复制出来。流缓冲区传递连续的字节流,消息缓冲区传递大小可变但离散的消息,消息缓冲区使用流缓冲区进行数据传输。某一时刻只能有一个对象读或写,所以需要加临界区保护如果有多个在读写。
2024-07-24 21:02:07 934
原创 常见嵌入式存储器学习
还有一种反熔丝装置,与保险丝功能相反,默认不导通状态,加以大电压的时候,转换为永久导通路径,为Anti-fuse OTP NVM,电子显微镜下不能区分编程位,无法破解。ROM即只读存储器(Read-Only Memory),以非破坏性读出工作,但不能写入数据,数据掉电也不会丢失,是非易失存储器(NVM: Non-Volatile Memory)。FLASH即快闪存储器(Flash Memory),是EEPROM的改进产品,使用上和其很类似,相较于EEPROM只能按位擦除,FLASH可以实现按块擦除。
2024-04-19 10:54:14 845
原创 RT-Thread学习(二)RTT内核框架介绍
内核资源占用最小为3KB ROM和1.2KB RAM线程调度:基于优先级的全抢占式多线程调度,只有中断处理函数、调度器锁定和禁止中断的代码不可抢占;0代表最高优先级(和stm32的中断优先级排布一样,0最高),最低优先级给IDLE线程;相同优先级采用时间片轮转调度;线程数目只受硬件内存的限制;调度器切换时,寻找就绪态最高优先级的线程所花时间一样。
2024-02-28 10:00:15 1075
原创 嵌入式杂散知识点总结
主要是记录一些杂散的嵌入式知识点8位和32位单片机最本质区别,2分钟看懂!半导体指PN结,晶体管指一切以半导体材料为基础的单一元件,而像芯片,三极管等叫半导体器件。氮化镓充电器采用的是新型半导体,损耗更小。
2024-02-28 09:37:06 1150
原创 RT-Thread学习(一)简介及基础环境配置
之前学习了FreeRTOS,但是一直想深入学习,但是没有人指导,又不知道该如何学习,于是再学习一个操作系统看看情况。RT-Thread是一个物联网操作系统,几乎支持所有主流的MCU和Wi-Fi芯片,实时多线程操作系统,主要用在32位的MCU上面。物联网(Internet Of Things,IoT),RT-Thread是一个IoT OS。有标准版本,裁剪后只需要3KB Flash、1.2KB RAM 内存资源的 NANO(轻量级) 版本,还有在标准版本上增加了用户态创造而来的smart版本。
2024-01-14 10:54:17 1164
原创 模电知识点总结(二)二极管
专门用于稳压,又叫稳压管,反接在电路中,利用其反向击穿的特性,这个时候其电压近乎稳定在一定值,电流会有明显增大(所以需要限流),图上的r。锗二极管:死区电压:0.1V,正向导通压降为0.2V,对温度的稳定性较差,储量也少,不如沙子,虽然看下图的效果是不错。并联式稳压电路:这里的R是限流电阻,将稳压管的电流限制在一定范围内,芯片手册会给稳定电流的范围,电流太小了可能无法击穿。产生相干的单色光信号,适合光缆传输,主要发射的是红外线,应用在DVD播放机和光驱,激光打印机的打印头。
2023-11-23 15:51:55 1865
原创 模电知识点总结(一)运算放大器
由于模电知识一直没用到,之前一直觉得没有什么用处,但是我越来越发现基础知识的重要性,不然稍微难一点的设计,就看不懂了。于是打算在12月初左右,将模电复习完成,并且全部总结完毕。
2023-11-22 11:36:47 3370
原创 FPGA学习笔记(十三)负数运算
再计算 0 0101+ 1 1010 =1 1111,这样的话就需要用 1111111表示0.,不方便。计算中1-2会转化为1+(-2),减法转加法,乘法转加法和位移,除法转乘法再转换。0 0101+ 1 1011= 00000 (0),于是就可以用全0表示0了。所以出现了反码:正数的反码不变,负数的反码是符号位不变,其他取反。1 0101的补码:1 1010+1 = 1 1011。如果最高位是1,就是负数,要倒转回去(即+1,取反)于是出现了补码,正数的补码不变,负数的补码加1。那么如何进行加减乘除呢。
2023-11-16 11:20:59 2089
原创 FPGA时序约束(七)文献时序约束、LogicLock、Design Partition
之前学习了一些基本时序约束的类别,包括主时钟约束、虚拟时钟约束、输入输出约束、多周期约束等等,但大多都是纸上谈兵,目前打算在这个学期结束前,阅读大量文献,学习他们的时序约束经验,并且在数据采集板上完成实验验证。
2023-11-15 12:12:51 766
原创 PCB知识补充
地弹跳一般是指在 PCB 系统运行时,某集成电路开关时,由于地线、集成电路的接地引线具有电感,引起器件内部的电位短暂下降,此时来自其他器件内的输出驱动信号是以外部系统作为参考的,参考电位的不一致会引起器件输入、输出电平的变化,从而引起信号稳定性的问题。减少关键信号(尤其是电源信号)的回路面积是提升 PCB电磁兼容性最有效的方法,如:尽可能缩短地线与信号线间的距离,使二者间的距离等于 PCB 的层间距离。K是与环境相关的常量,分别为内层线和外层线,内层线的取值为0.024,外层线的取值为0.048;
2023-11-12 17:05:51 348
原创 嵌入式Linux裸机开发(七)UART串口、IIC、SPI通信
大概学完这三种通信后,之后就先去学系统移植,其他的先暂时放下串口全称叫做串行接口,通常也叫做 COM 接口。UART:(Universal Asynchronous Receiver/Trasmitter)通用异步串行收发器。USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行收发器,相比 UART多了一根时钟线,一般 USART 是可以作为 UART使用的(不使用同步功能)。
2023-10-11 17:37:20 787
原创 嵌入式Linux裸机开发(六)EPIT 定时器
前面学的快崩溃了,这也太底层了,感觉学好至少得坚持一整年,我决定这节先把EPIT学了,下面把常见三种通信大概学一下,直接跳过其他的先学移植了,有些太多了内容。EPIT(Enhanced Periodic Interrupt Timer)增强周期中断定时器,EPIT是专门完成此功能的,PWM、输入捕获那些事其他外设完成的。EPIT是32位的向下计数的定时器,有12位的分频,当计数值等于比较值的时候就产生中断。
2023-10-11 12:22:43 722
原创 嵌入式Linux裸机开发(五)中断管理
最近在学习中发现,学Linux嵌入式不仅是对Linux的学习熟悉,而且还是对Cortex-A内核的学习掌握没怎么看懂,内容太多了,我觉得暂时先搞清楚一些原理概念以及简单的外部函数接口就行,内部可能在后续的学习中进行钻研GIC目前有V1-V4,V1太老淘汰了,GIC V2 是给 ARMv7-A 架构使用的,比如 Cortex-A7、 Cortex-A9、 Cortex-A15 等,V3 和 V4 是给 ARMv8-A/R 架构使用的,也就是 64 位芯片使用的。
2023-10-10 22:06:36 327
原创 嵌入式Linux裸机开发(四)IMX6U主频和时钟配置
默认配置下 I.MX6U 工作频率为 396MHz,但该系列标准工作频率事528MHz,有些型号甚至可以工作到696MHz。默认情况下内部 boot rom 会将 I.MX6U 的主频设置为 396MHz,下面介绍如何配置为528MHz暂时先这样,先不深入学习了,内容太多了。
2023-10-07 20:23:06 346
原创 嵌入式Linux裸机开发(二)C语言LED驱动
前面学习了如何用汇编LED驱动,现在学习如何用汇编构建C语言环境,完成C语言的LED驱动。在开发STM32F103的时候,启动文件 startup_stm32f10x_hd.s 这个汇编文件就是完成 C 语言环境搭建的,当然还有一些其他的处理,比如中断向量表等等。
2023-10-05 16:52:43 249
原创 嵌入式Linux裸机开发(一)基础介绍及汇编LED驱动
现在开始正式在开发板上进行开发,仍然看的是正点原子的资料使用的是Cortex-A7点击芯片名字打开介绍,主要参考的手册是:以及数据手册:对于一般的STM32来说,IO的表现形式为:管教名为PA1,管脚的功能在倒数第二列对于IMX6ULL,IO形式在参考手册里面,且没有上面的表格:目录列表即管教名:SNVS_TAMPER2这样格式的,是对寄存器介绍的。下图的这两种,有MUX的表示本节介绍的是复用功能配置其电气模式:就是速度、上下拉类似stm32那些Cortex-A汇编的功能:参考S
2023-10-04 19:35:44 516
原创 Linux嵌入式学习之Ubuntu入门(六)shell脚本详解
最近痛定思痛,觉得自己应该硬杠Linux,确实有些难度,但是我觉得学习之后一定会大有用处,而且我不希望局限在当下的情况,学习完嵌入式Linux之后,我想学习制作一些更加有难度,更加锻炼人的东西。内容有些多,我觉得最好是过一遍,好好记录一下,一些开发最好把暂时用不到的模块跳过,时间不够。
2023-10-03 16:57:20 2867
原创 嵌入式C语言知识复习和提高
在嵌入式开发的时候,发现由于没有系统学习过C语言时,导致编程时只会一些简单语法,既导致开发效率低,又导致程序结构很差,于是打算重新学习一下C语言。c语言入门这一篇就够了-学习笔记(一万字)格式:#define 标识符 字符串以“#”开头的为预处理命令,“define”为宏定义命令,“标识符”为所定义的宏名,“字符串”可以是常数、表达式、格式串等。宏名一般用大写字母,以便与变量名区别开来,但用小写也没有语法错误。对程序中用双引号扩起来的字符串内的字符,不会进行宏的替换操作#define R10。
2023-09-19 16:12:45 463
原创 FreeRTOS实时操作系统(十六)内存管理与堆栈溢出
heap_5 内存管理算法是在 heap_4 内存管理算法的基础上实现的,但是 heap_5 内存管理算法在 heap_4 内存管理算法的基础上实现了管理多个非连续内存区域的能力,heap_5 内存管理算法默认并没有定义内存堆 ,需要用户手动指定内存区域的信息,对其进行初始化。heap_4使用了首次适应算法(第一个满足条件的内存块),也支持内存的申请与释放,并且能够将空闲且相邻的内存进行合并,从而减少内存碎片的现象。返回值:返回一个指针 ,指向已分配大小的内存。*pv:指针指向一个要释放内存的内存块;
2023-07-15 19:00:25 951
FreeRTOS开发软件下载(STM32版本)
2023-08-05
辉光管时钟学习制作及开源软硬件工程
2023-02-27
ESP8266制作的1.44TFT太空人天气时钟(st7735)包括软件和硬件
2022-08-19
第十二届蓝桥杯嵌入式省赛停车场试做
2022-06-16
律动灯条的程序以及库文件包
2022-05-19
解决solidworks没有netapi32.dll文件
2022-04-30
律动灯条EDA专业版和AD版本(详情见博客)
2022-04-26
stm32f103c6t6最小系统板,自制pcb,包含了RTC的外部低速时钟
2022-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人