自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老D工作室

记录学习点滴

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 一、 蓝牙的发展史

第一次遇见蓝牙是2006年,室友拿着一款摩托罗拉的翻盖手机向我炫耀它的蓝牙功能,那时候我不记得有没有蓝牙耳机问世,因为当时我嫉妒的一再追问他,有这蓝牙有什么用?他给我说用来传输照片文件等。​​的确,2006年的手机上还没有wifi,我们宿舍的路由器都是那种最简单的TP-LINK,50M带宽4个口。所以手机上上如果想传输个照片文件还是很费事的,一般是用电脑通过U盘或者SD卡中转一下。

2024-04-16 23:21:55 1063

原创 微信小程序制作圆形进度条

选择一个目录建立一个文件夹,比如 mycircle 吧,另外把对应 page 的相关文件都建立出来,包括 js,json,wxml 和 wxcc。

2024-04-10 23:09:07 1771 1

原创 MOS 管失效的六大原因

功率器件在近几年的市场方面发展的非常火爆,尤其是 MOS 管,他主要应用在电源适配器,电池管理系统以及逆变器和电机控制系统中。而随着计算器主板,AI 显卡,服务器等行业的爆发,低压功率 MOS 管将再次迎来爆发性的市场需求。在开关电源应用领域,由于电源的 Controller 做的已经非常完善,且大部分 Controller 为纯硬件控制,厂家一般也会对布局布线和 MOS 的驱动做专门的优化,因此在开关电源应用中的 MOS 烧坏的情况比较少,大部分表现为过热。

2024-04-10 01:01:06 1103

原创 BMS的放电MOS是如何过压击穿的

上一篇文章中,我们讲到,在BMS测试的时候,经常会遇到MOS管烧毁的情况,引起这种损坏的原因对于MOS管来说,基本上都源于过流的功率损坏和过压的击穿。关于过流的功率损坏,可以参考这篇文章BMS 中的放电 MOS 是怎么烧毁的?这一篇,我们聊一聊,MOS是如何被击穿的,以及为什么BMS系统中会有比系统还要高那么多的电压。

2024-04-09 13:02:47 990

原创 BMS 中的放电 MOS 是怎么烧毁的?

然而还有很多情况是,我们命名加快了 MOS 管的关断速度,MOS 管也找了大型号的,还多并联了几个,依然会出现关断烧糊的情况,这就不得不说到 MOS 管的过压损坏了,下一篇,我们来分析 BMS 中为什么会出现比系统电压还要高很多的电压来击穿 MOS 管。我们一般在做过流保护的时候会发现,产生过流保护的时候,MOS 并没有烧毁,也就是当我们检测到电流值超过我们的电流保护阈值后,BMS 系统还完全正常的再计时,等到延迟到来的那一刻,MOS 管就冒烟了。因而导致在测试过流保护的时候,MOS 管频频冒烟。

2024-04-09 12:59:44 1053

原创 C#开发 之 解决win11缩放导致的字体模糊问题

现在我们的笔记本电脑分辨率很高,基本上能达到1920*1080以上,目前普遍使用的显示器都已经达到了2K到4K的级别。但是因为我们的笔记本的屏幕小,在非常高的分辨率下,一切看着都很小,尤其是文字,根本看不清,所以Win10很人性化的提供了屏幕缩放功能,一般默认放大比例为150%、200%等,如图所示:在这种情况下,我们用C#开发的Winform窗体显示就有问题了,

2024-04-03 15:45:36 892

原创 告诉你一个音频压缩算法,让你的Flash减小四倍

我们生活中最常见的音频压缩算法就是我们的mp3,早些年大家都喜欢下载这种类型的音乐,一首歌3-4M字节,空间占用少,毕竟那时候的MP3播放器还是256M或者512M的时候。

2024-04-03 11:06:37 1089 1

原创 浅谈通信校验码及 CRC 校验

多项式中的加减法,使用模2算术执行对应项上系数的加减,模2就是指的加减时不考虑进位和借位。

2024-04-03 10:45:40 917

原创 C语言中连字符“#”的使用,输出固件的编译时间和版本号

这里我们也可以 g_version这个变量重定向到一个固定地址,以便于使用上位机可以直接从 bin 文件或者hex 文件中检验版本号和编译时间。然后我们在全局变量中定义一个存储信息的字符串,这个使用 const 修饰可以存在flash中,也可以通过。另外,我们也可以通过通信协议,让上位机从运行的状态中获取固件的编译版本和编译时间。这样的形式来把常量存储到 Flash 的固定位置。首先我们使用C语言宏定义和“#”来组合字符串。

2024-03-28 12:40:13 221

原创 我与电源 3 - 电源反激战

这一次让我认识的到了一个问题,任何人都不是全能的,如果说学习,可以认同多学一点无害出,但是从整个项目的开发上来讲,我们应该权衡一下,哪些是我们擅长的,哪些使我们的盲区,选择哪些擅长的,外包那些盲区的,项目一定会事半功倍。2014 年的时候,我来到了一家做平衡车的企业,承担的任务是开发独轮平衡车,彼时公司只有两轮平衡车业务,那时候的两轮平衡车还是个很大很贵的家伙,起步价都得三五万,当时独轮车的可玩性更高,因此选择了这个业务。

2024-03-28 12:35:56 495

原创 我与电源2 我要升压

我们用这个亮暗交替的镜片来观测直升机螺旋桨的速度,其原理是调节镜片亮暗的频率,达到人眼透光镜片可以看到静止的桨叶,这样桨叶的旋转速度就刚好和亮暗的频率成一个倍数关系,直升机的螺旋桨的速度是在一个范围内,因此可以推断出桨叶的旋转速度。此时的压差就可以做的更小。还有朋友想到了倍压电路,其实可以实现,但是也会很复杂,得找合适的电压去倍,且电池的电压是浮动的,我的电池是 14 串锂电池,最低电压是 42V,最高要到 58.8V 了,肯定倍不准。不过我今天要聊的是一些特别的升压电路。

2024-03-27 13:56:12 572

原创 我与电源1 降本增效

你会发现,无论电压输出多少,如何调节,输入输出的电流是不变的,而调节的实际上是管子的内阻,所以线性的电源的效率就是电压的比值,如果输入输出压差大的话,这个大电压差就会全部落在芯片内部的管子上,变成热量散发出去,如果我们不用他来烤肉串的话,就白白浪费掉了。没错,最开始我以为这 1117 就是为 3.3V 设计的,始终没有注意到,原来它有个3.3 的后缀,也就是说 LM1117 是TI 的一个系列,有 2.5V 的,有 3.0V,有 3.3V 的,还有 5.0V 的,不要骂我菜,闻道有先后,术业有专攻。

2024-03-27 13:51:45 1058

原创 活用C语言之宏定义应用大全

C语言的编程过程中经常会用到宏定义,然而如果你只是使用宏定义做一些常量的定义,那么你不是OUT了就是C语言小白。那么我们在编程过程中,宏定义都有哪些作用呢?常量定义可以作为功能代码的开关防止头文件被重复包含定义一些通用类型,防止因为平台和编译器不同导致的类型差异,方便移植其他高级浮夸用法。。。。。。

2024-03-23 13:02:08 343

原创 从宏和函数引出内联函数

从上一篇文章中,我们讨论了一下关于宏定义的写法,逐步深入讨论了了不同级别的程序员编写宏定义的手法。MAX宏定义的基础和深度扩展 https://blog.csdn.net/yixuanyuxiao/article/details/136953694今天我们来看一下利用宏定义编写类似函数调用的方法和真实的函数有什么区别,来进一步理解宏定义的应用。首先来看一个例子:这里,我们得理解宏的工作方式,它是在编译器编译代码之前做的一个纯文本的替换工作。因此,有时候简单宏替换的结果就会和我们预想的结果出现偏差,比如

2024-03-23 12:56:50 805

原创 宏定义的基础和深度扩展

合格:x : y//测试一下??MAX(1!= 1, 1!= 2);中等(x) : (y)//测试一下??良好(x) : (y))//测试一下??优秀int _x = x;int _y = y;_x > _y?_x : _y;})//测试一下??资深_x > _y?_x : _y;})//测试一下??其中在简化可以做到 typeof(x) x = _x;这是linux的GCC特性,linux内核有_x < _y?_x : _y;})如果x和。

2024-03-22 22:45:55 202

原创 活用 C语言之union的精妙之用

通过上述的这个例子可以了解,如果不使用 union 的话,在进行数据传输的时候,直接将由 struct 构造的数据形成数据帧发送过去,发送的数据包要比使用 union 构造的数据大不少,使用 union 构造数据,既能够帮助我们节省了存储空间,还节省了通信时的带宽。在上面的背景当中,我们得知发送的消息的时候并不是同时要发送速度,温度的,而是每个帧分开来的发送的,并不是同时需要,那这个时候,我们就可以采用 union 的特性来构造一个数据结构,这样做的好处是能够缩减变量占用的内存。

2024-03-22 22:35:38 816

原创 C语言的 4 个冷知识

01语法规定,数组的长度必须是个常量,保证数组所占的内存大小不变。数组下标从 0 开始,依次往后递增。于是大部分同学都把它当作了默认的规则。其实,数组的长度可以是0,叫做柔性数组,目的是让结构体变成可变长度,不过也是使用 malloc 进行空间的申请。另外,数组的下标也可以是负数,正数表示向后访问,负数表示向前访问。如果不太明白,可以看下下面的内存示意图:对于二维数组,同样可以使用负数的下标来访问元素。

2024-03-21 12:37:39 959

原创 电阻原理,工艺,分类等全面介绍

今天系统的给大家分享一下电子元器件中的电阻,内容包括电阻的原理,工艺结构,电阻的种类及参数特性。电阻和电容、电容一起,被称为电子学领域的三大基本"粒子",就像复仇者联盟中的那几个奇幻宝石一样,组成了丰富且神奇的电子世界。从能量的角度来看,电阻本质上是一个耗能元件,他通过设置障碍,阻碍电子的移动,并让电子不断的摩擦而产生热量。在欧姆定律中,我们定义电阻为在一个恒定的电压下,可以流过多少电流,也就是 R = U / I。如果使用焦耳定律来理解,可以阐述为在电阻上流过一个电流,单位时间内产生的热量。

2024-03-21 12:31:58 820 1

原创 1 分钟搞懂热电偶,热电阻和热敏电阻

温度传感器按感温元件特性分为热电偶、热电阻和热敏电阻三类,其实还有个热电堆,今天先不聊。先看图,下面三幅图分别是热电偶,热电阻和热敏电阻平时的样子。

2024-03-21 12:21:25 1767 1

原创 电阻 - 那些你不知道的细节

今天从YAGEO的RC系列电阻说起,讨论一下你和高级硬件工程师的一步之遥。新入行的硬件工程师往往对电子元器件的参数知之甚少,有些即便能罗列出一些来,也只是死记硬背出来,对其因果由来都是一知半解。接下来我们从一个料号说起,具体谈一谈小小的一个表贴电阻,到底有哪些我们设计中需要的知识,有哪些我们从来不关心又非常重要的参数。

2024-03-21 12:08:55 812 1

转载 一文弄懂BIN、HEX、AXF、ELF文件格式的区别

由于hex文件是十六进制数据,而bin文件是二进制数据,如十六进制0xFF,用二进制表示为1111 1111,所以HEX文件要比bin文件大得多。bin文件是纯粹的机器码,没有地址信息,不能使用记事本直接打开,要使用bin文件阅读器才能打开,如果使用bin文件烧录程序时,需要指定下载地址。从存储数据的信息量上看:ELF>AXF>HEX>BIN,所以这也就确定了只能将大信息量的文件格式向小信息量的文件格式转换,如只能将HEX文件转换为BIN文件,当然如果指定了下载地址,也可以将BIN转换为HEX文件。

2022-11-17 22:52:49 1795 1

原创 EMC启航:我们为什么要做EMC

我们的产品为什么要做EMC,就是单纯的检验我们的设计牛不牛吗?你要知道的EMC底层逻辑

2022-03-25 19:59:32 554

原创 为什么大部分硬件工程师没有用好LDO?

首先我们拿出TI出品的TLV1117的数据规格书,看一下规格书中对于线性稳压器输出的设计要求。可以看到对于TLV1117来说,输出电容是有明确要求需要使用钽电容或者铝电解电容,并且特别说明了ESR需要在0.2Ω到10Ω之间。相信很多硬件工程师们都因为目前MLCC电容的大行其道,直接在输出电容部分放了0.1-10uF的陶瓷电容,并且并了多个。还有些公司特别的要求禁止选用钽电容,即使使用也需要降额设计,华为更是将钽电容选型规定到了电压余量留出3倍。为什么LDO的数据手册要规定使用

2022-03-17 16:33:37 1084 1

原创 微信小程序蓝牙通信实践

工作上经常做一些蓝牙的设备开发,但是一直没有一个比较好的软件工具来配合自己的蓝牙设备,之前在windows上面使用C#做过一个,感觉用PC已经是很古老的方式了,都2021年了,肯定得使用手机才显得高大上。于是乎开始尝试了IOS开发,Android开发,发现太庞大了,学习成本太高,并且也比较难兼容所有的手机,于是掉头想到了小程序。说干就干,首先就是小程序的一些开发基础要学习小程序文件结构的基础onLaunch() { // 展示本地存储能力 const logs = wx.g

2021-10-20 11:27:01 2118

原创 利用企业微信自动登录WordPress网站

如果我们想做一些内嵌到企业微信里面的展示网站,可以选择WordPress平台,安装DairyPress插件,这个插件可以将网站变为私有,游客无法查看网站内容,只有登录的用户才可以查看内容。  同时,在企业微信中嵌入网站,通过企业微信的用户名授权登录wordpress网站后既可以查看网站。  那么要想实现企业微信登录wordpress就要通过OAuth2.0协议来获取企业微信的用户信息。  OAuth2的设计背景,在于允许用户在不告知第三方自己的帐号密码情况下,通过授权方式,让第三方服务可以获取自

2021-09-24 09:41:44 1795

原创 利用企业微信机器人发送GitLab消息

  软件开发团队经常会遇到关于GitLab消息的问题,很多都是邮件通知,但是目前的通信协同工具显然都已经转移到了微信,钉钉,飞书等及时沟通软件,因此本文记录一下使用PHP实现微信机器人发送GitLab的消息的过程。  首先我们要拥有一台服务器,然后在服务器上面搭建起能够运行PHP的环境,这里我使用的是搭建WordPress的平台,Apache+MySQL+PHP。  然后我们建立PHP运行环境的根目录下建立一个目录,比如test,在test目录下创建一个index.php文件,如下:&lt

2021-09-24 09:35:58 1073 1

原创 电阻-那些你不了解的细节

今天从YAGEO的RC系列电阻说起,讨论一下你和高级硬件工程师的一步之遥。新入行的硬件工程师往往对电子元器件的参数知之甚少,有些即便能罗列出一些来,也只是死记硬背出来,对其因果由来都是一知半解。接下来我们从一个料号说起,具体谈一谈小小的一个表贴电阻,到底有哪些我们设计中需要的知识,有哪些我们从来不关心又非常重要的参数。【RC0402JR-07100KL 】 这是一个国巨品牌的RC系列中的100K的电阻,我的这个简单的中文描述中涉及了三个知识点:电阻的品牌,电阻的系列,电阻的阻值。是不是大部分

2021-09-23 14:23:35 575

原创 回归CSDN

十多年过去了,居然通过密码找回功能,经历了新浪账号的找回,继而找回了13年前CSDN的老号,真的很多感慨,也很是激动。接下来使用这个老号,把这十多年的研发经历,心酸苦楚都一一道来,让后来人有所参照,有所启发。...

2021-09-23 09:29:09 150

原创 安装交叉编译工具链arm-linux-gcc

先下载 arm-linux-gcc-4.5.1-v6-vfp.tgz压缩包,然后在linux中解压tar -xvzf arm-linux-gcc-4.5.1-v6-vfp.tgz -C / 解压缩到根目录在根目录生成一个opt的文件夹,里面是嵌套了好几层,不管那么多,找到4.5.1然后将所有文件拷到根目录下cp -r  4.5.1  / 拷贝过程中居然提示没有空间了,于是 df -h

2012-06-18 22:26:35 467

原创 关于redhat下配置samba服务实现linux和window共享

首先确认系统安装一下几个软件:samba-common-3.0.0.15.i386.rpmsamba-client-3.0.0-15.i386.rpmsamba-3.0.0-15.i386.rpm然后配置samba的共享目录 vi /etc/samba/smb.conf打开samba的配置文件,然后在最后面添加自己的共享目录[work]  #在window里显示的目录名称

2012-06-18 21:18:29 543

转载 关于AREA和ENTRY的理解

1、AREA    AREA指令指示汇编程序汇编新的代码节或数据节。节是不可分的已命名独立代码或数据块,它们由链接器处理。有关详细信息,请参阅ELF节和AREA指令。语法    AREA sectionname{,ATtr}{,ATtr}...其中:    sectionname是将要指定的节名。可以为节选择任何名称。但是,以数字开始的名称必须包

2012-04-08 13:30:47 513

转载 HID设备的开发

市面上一些无驱的usbkey 一直是技术卖点,象招商银行的usbkey 就一直以无需安装驱动自豪。无驱动的usbkey确是比较方便,尤其在使用别人的计算机的时候。刚好最近在研究一款HID 设备,在这方面做了一些探索。首先工具一定要利索,最好能武装到牙齿,下面的三个工具最好都有,否则就回到了石器时代bus houndusb device viewerhid descriptor

2012-04-08 12:38:50 1177

转载 关于MMU的学习

在中断配置时 有一个函数  MMU_Init()  这个是MMU的初始化函数,用来初始化存储器管理单元的 (Memory Manage Unit  )。那这个单元是来干嘛的呢,顾名思义,用来管理存储器的。 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以 内存容量虽然小,但还是可以容纳当时的程序。但催着

2012-04-08 12:36:28 398

转载 2440启动文件分析(转)

;===================================================================== ; ; NAME: 2440INIT.S ; DESC: C start up codes ;       Configure memory, ISR ,stacks ;Initialize C-variables ; HISTORY

2012-04-08 12:35:32 399

转载 ROM、SDRAM、RAM、DRAM、SRAM、FLASH的区别

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。        RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了

2012-04-08 12:31:00 294

转载 ARM汇编----GBLA,GBLL及GBLS

GBLA,GBLL及GBLS伪操作用于声明一个ARM程序中的全局变量,并将其初始化。GBLA伪操作声明一个全局的算术变量,并将其初始化为0。GBLL伪操作声明一个全局的逻辑变量,并将其初始化成{FALSE}。GBLS伪操作声明一个全局的串变量,并将其初始化为空串""。 语法格式: variable其中:       是后面3种伪操作之一:GBLA、GBLL或者G

2012-04-08 12:29:16 10757

原创 看博客注意到的一句话,it真理

 IT技术大多是国外的,最先进最权威的肯定是英文。所以,一项技术如果被翻译成中文了,说明他已经被一批中国人掌握了,那么你就已经落后了。如果连书,或者教材都出了,那证明这个技术离淘汰就不远了。

2009-09-16 09:16:00 288

PCB硬件设计-热设计基础篇

这是一篇关于PCB上面热设计的教程,很好的讲述了如何进行线路布局,减小PCB温度,有效利用板子和元器件封装进行散热。

2024-03-21

使用C#进行CAN 总线编程

英创ARM9 系列嵌入式主板,如EM9000、EM9260 均带有(或可选)CAN 总线接口, 英创公司不仅提供了硬件平台支持,还提供了CAN 总线通讯驱动程序。本文主要介绍在基 于Windows CE 平台的英创嵌入式主板下进行C#(Microsoft Visual Stdio.Net 2005)CAN 总 线应用程序开发时会常常用到的一些功能函数以及开发方法。

2009-09-16

空空如也

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

TA关注的人

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