- 博客(15)
- 收藏
- 关注
原创 STM32单片机内存分配详细讲解
本文以STM32F103C8T6为例,详细介绍了单片机的两种主要内存类型:内部FLASH和SRAM。FLASH是一种非易失性存储器,用于存储用户代码、中断向量表、全局变量和常量等,其地址范围为0x08000000~0x0801FFFF。SRAM是一种易失性存储器,用于存储局部变量、静态变量、堆和栈等,其地址范围为0x20000000~0x20004FFF。文章还分析了存储器映像图,解释了不同内存区域的用途和地址范围,并讨论了代码段、数据段、堆栈段等在内存中的分布。最后,文章强调了通过.map文件分析内存占用
2025-05-15 23:55:45
1449
原创 BMS电池管理芯片BQ76920芯片手册详细解读
1>是将电池单体电压、电池组电流(用于累计电量计算)、外部热敏电阻温度和内部芯片温度数字化。能自动累加计算电池组总电压<2>通过 I²C 接口将数据传输给主控制器,采用 8 位循环冗余校验码(CRC)确保数据快速可靠传输。<3>芯片使用 14 位 ADC 测量电池单体电压、温度等。<4>在进入正常模式时自动使能 ADC,且使能后过压(OV)和欠压(UV)保护功能生效。
2025-04-19 17:02:20
1304
1
原创 CRC校验
细致入微的讲解CRC校验,手把手带你验证。CRC(Cyclic Redundancy Check)校验即循环冗余校验,是一种在数字通信和数据存储领域广泛应用的检错技术,用于检测数据在传输或存储过程中是否发生错误。
2025-04-09 23:04:18
2424
原创 Linux下编译alsa-lib和alsa-utils软件失败,出现bin/amixer:line 2:syntax error:unexpectedbin # /bin/amixer: line问题
编译alsa-lib报错,解决方法
2025-03-30 15:30:14
476
原创 编译ncurses源码报错问题
在配置minicom时,编译ncurses6.0源码报错,报错问题如下。在ncurses6.0的根目录下,找到include文件。将后面的注释部分/*generated*/删除。再返回到ncurses6.0根目录下重新编译。出现如下界面,就说明编译成功了。进入后,找到如下内容。
2025-03-25 20:31:11
333
原创 Linux内核驱动流程框架
*设备号*//*cdev*//*类*//*设备*//*设备节点*/int major;/*主设备号*/int minor;/*次设备号*//*私有数据*//*定义所用的GPIO编号*/...... /*其他数据*/cdev:该结构体变量代表Linux内核字符设备结构体,包含字符设备操作指针函数例如open,write,read等通过该结构体,实现内核和字符设备的交互。class:类。该结构体指针变量用于管理不通的驱动设备。会在/sys/class目录下创建对应的设备目录。
2025-03-24 20:48:58
1285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人