- 博客(34)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 GUI和AWTK介绍
GUI(图形化界面)目前在我们的生活中无处不在,以至于我们都很少关注到他为我们所带来的巨大改变,GUI出现于1970年一群天才之手,后伴随着PC由面向企业到面向个人的发展,再经乔布斯和比尔盖茨等发掘应用逐渐进入到大众视野。AWTK是我们国产的GUI开源引擎,其代码干净利落,思路清晰,而且各种更新频繁各种特性在不断的进行支持,同时对于开发者的支持做的也很好经常碰到问题后在github上上午提问,下午可能就有答复了。
2023-04-16 21:36:57
3214
原创 DC-DC充放电原理
最近用了一款充放电芯片SC8815,可以通过配置该芯片的寄存器结合外围电路,自动对充放电进行管理。虽然芯片用起来了,但是充放电到底是如何实现的还是不太清楚,于是去了解了一些DC-DC充放电相关的知识。这里进行下记录另外为什么说充放电会去讨论升压和降压相关的原理呢?这是因为,首先充电肯定是电压高的一方向电压低的一方去充,然后现如今不同快充之间的区别经常是充电电压的不同,例如常见的66w和120w快充,一般是11V / 6A 和 20V / 6A。
2024-07-07 15:24:05
646
原创 AUTOSAR学习
前段时间参加系统架构师的软考,其中案例分析中的嵌入式题目是分析autosar架构,但是自己只是听说过汽车领域正在使用这个架构,实际上这个架构到底是什么?以及它有什么作用,则是全然不知,最终作为一个嵌入式工程师,案例题也没有选择这个嵌入式题目。其实软考会考这个东西再一定层面上就说明,国家或者当前社会这块的人才是有些稀缺的,然后想通过这种软考让更多的人去了解autosar架构。另外最近在看机器人领域的工作,发现和ROS(机器人操作系统)相关的开发工作中很多都提到了要对autosar有一定的了解。
2024-06-12 17:35:36
827
原创 STM32的时钟介绍
最近因为工作需要又重新接触到了大学时期经常使用的STM32单片机。本以为自己工作了那么多年,再加上大学时期经常使用单片机,对于在STM32上面开发应该是手到擒来。但是在真正开发时还是碰到了很多问题,特别是时钟这块,经常被各种SYSCLK,HCLK, APB, AHB, PLL等搞的晕头转向,调试时也不知道该如何下手,于是决定花点时间把STM32单片机的时钟给梳理下,弄清楚后再进行开发,否则只是一味的去试不仅消耗时间多,而且很难得到最正确的那个解。
2024-05-29 21:13:54
1080
原创 STM32CubeMX 生成的代码框架解析 - 最小化工程篇(含FreeRTOS)
最近因为工作中要用到STM32+FreeRTOS进行开发,因此借助此次机会学习下STM32CubeMX生成的带有FreeRTOS的工程代码。熟悉下其生成代码的结构,以及一些细节。这篇的话我想首先分析下,最简单的结构是什么样的,即所有的都按照默认来,不增加外设驱动,不对FreeRTOS进行过多的配置,我称之为最小化工程。后面再通过写一些增加驱动、FreeRTOS的各项配置等来进行对比,进一步加强理解。文件夹总目录下分别有4个文件夹Core、Drivers、MDK-ARM、Middlewares。
2024-03-25 17:00:03
1713
原创 STM32 使用gcc编译介绍
我们在STM32上进行开发时,一般都是基于Keil5进行编译下载,Keil5中默认集成了arm的编译工具链。这种方式的优点是简单方便,但是相对应的不够灵活。例如我们在实际开发过程中经常一套代码需要在不同的RTOS和硬件平台上运行,为了更好的维护这套代码,我们一般会对RTOS和硬件驱动进行抽象,不同的RTOS和硬件平台分别是实现这些抽象。然后通过编译时传入不同参数来确定最终要使用的RTOS和硬件平台。这种情况如果利用Keil5去直接编译就比较麻烦,因此我们需要借助makefile去组织和管理代码。
2024-03-23 11:43:17
1449
原创 STM32 CubeMX使用介绍(含FreeRTOS生成)
手上有块STM32L4的板子,想要在上面把FreeRTOS给用起来,顺便把这个板子也用起来。自己在网上找了下Free RTOS的源码,下载下来后发现移植目录下有Core-M4的移植版本。本想着拿来直接用,但是发现又缺少了STM32L4的驱动,然后通过一些其它渠道了解到,现在STM芯片开发方式大都是通过ST公司提供的STM32 CubeMX来生成驱动和Free RTOS。这里记录下学习使用STM32 CubeMX生成含FreeRTOS 操作系统和驱动工程的过程。
2024-03-19 20:13:08
3506
原创 视频编解码技术介绍 - 基本概念篇
由于后续的工作要接触摄像头开发,因此这里需要提前了解些视频编解码相关的知识,以及视频相关的业务。但是工作至今由于没怎么接触过视频编解码,因此对于视频编解码中的很多东西都不是很清楚,也不知道该从哪里去学。这里主要记录下从各方渠道了解到的一些视频编解码的基本概念,让自己和大家对视频编解码先有个初步的认识。本文比较适合像我这种粗略了解过视频编解码技术的小白,另外这是一个学习记录文章,该文章中的很多内容借鉴自github上的开源文章。
2024-03-08 16:07:20
1379
原创 Zigbee direct架构和应用介绍
本文主要介绍zigbee direct的软件架构以及应用场景。蓝色突出显示的为本协议栈中的新技术项目,包括Zigbee直连设备(ZDD)和Zigbee虚拟设备(ZVD)。ZDD的特点:是具有IEEE 802.15.4 radio和Bluetooth Low Energy (BLE) radio,并以外围角色运行BLE。ZVD的特点:是至少有一个BLE radio,并以中心角色运行BLE。在实践中,ZDD通常是常规的Zigbee设备,而ZVD通常是智能手机和智能音箱。
2024-03-06 14:10:30
1025
原创 Zigbee direct 基础介绍
本文主要介绍zigbee direct是什么?为什么会有zigbee direct以及zigbee direct的使用场景等基础内容,增加自身和读者对zigbee direct的了解。Zigbee direct是zigbee联盟新出的一种zigbee解决方案,其主要是利用随处可见且操作方便的低功耗蓝牙 (BLE) 设备,简化 Zigbee 新设备的入网和已有设备的控制。
2024-03-05 17:09:47
924
原创 UWB技术了解
随着各手机厂商在其旗舰级上支持了UWB模块,和UWB相关的衍生应用也越来越广泛。例如苹果的AirTag无线追踪器,以及小米的“一指连”,手机指向支持UWB技术的电风扇,手机上会弹出一个控制卡片,进而实现对风扇的操控,无需实体遥控器,除此以外,小米“一指连”还实现了智能电视投屏、智能门锁靠近即开等操作。另外UWB在室内定位或者说小空间内的定位应用也很广泛,因为UWB采用的时基于飞行时间(ToF-base)的测距方式+ UWB信号的脉冲极短,因此它的精度很高,一般情况下能达到10cm的精度。
2024-02-20 20:07:23
1851
原创 PySide6学习 - 开发实践篇
本篇主要通过两个简单的示例,描述如何去搭建属于我们的第一个PySide6 程序,其中第一个程序非常简单,没有什么额外的语法使用,只是单纯的体验一下PySide6,第二个程序是一个最小框架程序,带有一点框架的东西。另外会介绍一下常见的控件操作有哪些。如果想对PySide6 有一个更深入的了解,可以参考github上的“PySide6 代码式教程后续考虑出两篇博客分别对两个比较典型的PySide相关项目进行一个解读。
2024-02-01 15:39:40
2695
原创 使用Strace定位Linux下线程泄露
Linux下我们可以通过通过命令行输入free查看系统的整体内存消耗情况,以及通过输入查看进程实际消耗物理内存VmRss的方式了解到进程所消耗的内存。因此我们可以通过输入命令行的方式进行对比查看了解当内存泄露时,具体是哪个进程泄露的。但是想要查看线程所消耗的内存则需要借助外部工具了,这里我们介绍下通过strace工具查看进程内存增长时,具体是哪个线程增长的。
2024-01-30 15:00:03
1245
原创 XR开发 第2章 apple vision pro XR开发的基础知识 1- 软件篇
本来是考虑到XR的学习资料比较少,但是VR和AR的资料相对比较充足,且XR当前发展只是早期阶段,所以先从VR和AR学起,再去研究XR的。但是后来看了一下B站上发布的苹果官方培训教程,感觉讲的还是不错的,因此决定还是先从XR开始学,后续有需要了再去学习VR和AR。本章我主要是结合苹果官方的第一节课所提到的各种基础知识进行说明,因为自身在该领域属于小白,所以很多名词解释我觉的还是直接采用官方的比较合适,如果我有一定理解的我会加上我的说明。注意。
2024-01-21 23:22:55
1137
原创 XR开发 第1章 聊一聊apple vision pro XR的开发
随着apple vision的正式发售,虚拟现实技术再次成为了人们讨论的热点,当我们静下来心来去思考时,会发现虚拟现实技术能够给我们的生活的各个方面带来巨大的变化。例如远程医疗,远程办公,影音娱乐,元宇宙等等。
2024-01-14 21:13:49
1030
原创 华为机试题库+题解【C语言版】
近期在刷华为机试题库,记录一下自己的解题思路,如有错误或或更好的解题方式,欢迎大家在评论区指出以便大家一起交流学习。另外希望有天能够加入这家光是听名字就让每个中国人骄傲的公司。
2022-02-13 12:12:29
3402
原创 linux下使用命令行辅助定位内存泄漏问题
前言最近自己正在做的一款产品,因内存泄漏经常出现重启或者是功能不正常的问题。为了解决这个问题,这里记录下目前所掌握到的使用命令行定位内存泄漏的一些措施。有点我们需要清楚,使用linux的命令行最多是帮我们定位到产生泄漏的进程,而并不能直接帮我们找出内存泄漏的具体原因,所以当定位到具体进程后,还需自己去参考别的博客采取一些手段去进一步定位泄漏原因。注⚠️:我后面所说的内存一般就是物理内存,如果是虚拟内存我会进行说明。一、free命令:free命令主要用于查看设备的内存使用情况,主要用于确定设备是否存
2022-01-03 22:10:36
2365
1
原创 努力工作的价值,以及为什么自己总是逃避努力工作
今天恰巧在《软技能,代码之外的生存指南》中看到了“努力工作的价值,以及为什么你总是逃避努力工作”这一章,看完之后对我造成了一定的触动,我也想借此机会谈谈自己对于努力工作的看法。
2021-12-21 22:38:08
208
1
原创 无线通信基础知识通俗理解
简述: 自己做了一段时间的zigbee设备的开发,但是发现一些基础概念还是经常搞不明白或者是很容易忘掉。为了解决这个问题,我准备使用一些简单通俗易懂的方式将无线通信的一些基础概念给映射到我们的生活中去,方便我们理解和记忆。映射关系:协议: 语言,如zigbee(中文)/wifi(英文) / ble(美国)zigbee设备: 人消息发送/接收:人之间的沟通频段(2.4GHZ /996MHZ): 不同的乡镇,如庙岔镇(2.4GHZ),姜寨镇(2.0GHZ),这里比喻的...
2021-07-25 15:03:31
2329
1
原创 大电流对电池电压的影响
在开发ZIGBEE休眠设备的过程中发现使用ADC测量电池电压时,发现电池电压的波动非常大。3.3v的纽扣电池通过ADC读出来的值一般为2.7~3.3v,使用电压表测量电池电压为3.3v。通过各种测试验证了ADC正常,电路连接也正常,而电池无论是新老电池都会存在该问题(旧电池电压表测3.0v,ADC读取最低为2.4v)。最后定位是电池本身构造的问题。问题原因:无论是常用的一次性干电池还是可充电电池。其都存在内阻,电池的电路构造可以理解为一个电源V串联了一个电阻(内阻)R,电池电压 = 电...
2021-07-09 20:01:42
2867
转载 github丢弃本地改动与提交
转载自:github简明指南标题对应的内容在替换本地改动章节工作流:你的本地仓库由 git 维护的三棵“树”组成。第一个是你的工作目录,它持有实际文件;第二个是暂存区(Index),它像个缓存区域,临时保存你的改动;最后是HEAD,它指向你最后一次提交的结果。提交和更改:你可以提出更改(把它们添加到暂存区),使用如下命令:git add <filename> git add *这是 git 基本工作流程的第一步;使用如下命令以实际提交...
2021-07-01 16:02:38
487
原创 LUA调用C函数
文章目录前言Lua调用C的两种方式1. C函数进行调用2. C库进行调用参考来源:《Programming in Lua》中的第26章.调用C函数《lua 5.3中文参考手册》前言lua通过一些方式实现对C函数的调用是lua高扩展性的体现。Lua调用C的两种方式lua调用C的两种方式其实是在不同的环境下去对C进行调用。在C中通过lua的基础库函数调用C(通过C函数进行调用)在lua中调用C(对自己编译的C动态库进行调用)无论是上面哪种方式去调用C函数,都必须遵
2021-06-06 22:39:30
2242
原创 Siliconlabs EFR32MG系列ZIGBEE终端休眠设备开发——知识点杂记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、插件中CLS的属性选项的E,F,S,B 分别是什么?一、插件中CLS的属性选项的E,F,S,B 分别是什么?E(External Attributes):您可能希望将某些属性的值存储在Zigbee应用程序框架外部的位置。这种类型的存储对于每次请求时必须从硬件读取的属性来说是最有意义的。在这种情况下,数据不应该存储在RAM中,浪费RAM的存储空间。当需要读/写数据的时候,可以通过调用emberAfExternal
2021-01-25 15:15:36
648
原创 Siliconlabs EFR32MG系列ZIGBEE终端休眠设备开发——碰到的问题
文章目录前言一、休眠不正常1.设备入网失败后,不能成功进入休眠了?2.休眠电流高达100ua?3.正常入网后,设备不能进入休眠了?二、外设1.测量电压一直都是3.3v总结前言SiliconLabs的ZIGBEE相关的开发,由于是插件化的所以其实各个方面做的都已经很完善了,需要我们去进行修改的不多。往往一个插件选择好了,配置好了就能够正常的使用了,我在这篇博客里面主要去记录一下自己碰到的问题。提示:以下是本篇文章正文内容,下面案例可供参考一、休眠不正常1.设备入网失败后,不能成功进入休眠了?
2020-11-20 09:45:14
1565
5
原创 MPU6050配置低功耗和中断
前言各位铁子们啊,当你们看到这篇博客的时候说明你很有可能和我碰到了一样的问题,然后犯了一样的错误。我在使用MPU6050的时候参考着寄存器手册(最新的寄存器手册会发现很多寄存器,文档上都没有提)和博客一点点的去做休眠和中断,花了好几天终于弄好了,结果发现在官方提供的相关的驱动库中有这部分的代码。例如: int mpu_lp_motion_interrupt(unsigned short thresh, unsigned char time,unsigned char lpa_freq)//进入低功
2020-11-16 18:31:12
7483
6
原创 Siliconlabs EFR32MG系列ZIGBEE终端休眠设备开发——第一章:基础文档简介
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、文档都在哪里?二、文档简介1.整体简介(其实就是翻译了一下它们的简介????)2.比较重要的文档3.ZIGBEE 应用层等其它API的网页版总结前言最近在使用Siliconlabs的EFR32MG系列套件进行ZIGBEE的的学习和开发,这里记录一下相关的过程。这章主要介绍ZIGBEE开发过程中会使用到的文档,以及如何去找到这些文档。这里以Simplicity studio 5举例。提示:以下是本篇文章正文内容
2020-11-03 22:38:08
1573
2
原创 MVC,MVP,MVVM是什么?
文章目录前言一、MVC是什么?二、MVP是什么?三、MVVM是什么?总结前言 MVC,MVP,MVVP它们本质上是就是三种逐渐迭代的分离界面和业务逻辑的设计模式。其迭代过程由MVC->MVP->MVVM提示:以下是本篇文章正文内容,下面案例可供参考一、MVC是什么?MVC是Model-View-Controller简称,它首次把系统分成Model,View和Controller这三部分,明确的把用户界面和业务逻辑分离开来。M(Model):这里的Model就是业务逻辑的抽象
2020-11-01 16:26:24
383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人