自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 GUI和AWTK介绍

GUI(图形化界面)目前在我们的生活中无处不在,以至于我们都很少关注到他为我们所带来的巨大改变,GUI出现于1970年一群天才之手,后伴随着PC由面向企业到面向个人的发展,再经乔布斯和比尔盖茨等发掘应用逐渐进入到大众视野。AWTK是我们国产的GUI开源引擎,其代码干净利落,思路清晰,而且各种更新频繁各种特性在不断的进行支持,同时对于开发者的支持做的也很好经常碰到问题后在github上上午提问,下午可能就有答复了。

2023-04-16 21:36:57 2230

原创 STM32CubeMX 生成的代码框架解析 - 最小化工程篇(含FreeRTOS)

最近因为工作中要用到STM32+FreeRTOS进行开发,因此借助此次机会学习下STM32CubeMX生成的带有FreeRTOS的工程代码。熟悉下其生成代码的结构,以及一些细节。这篇的话我想首先分析下,最简单的结构是什么样的,即所有的都按照默认来,不增加外设驱动,不对FreeRTOS进行过多的配置,我称之为最小化工程。后面再通过写一些增加驱动、FreeRTOS的各项配置等来进行对比,进一步加强理解。文件夹总目录下分别有4个文件夹Core、Drivers、MDK-ARM、Middlewares。

2024-03-25 17:00:03 1023

原创 STM32 使用gcc编译介绍

我们在STM32上进行开发时,一般都是基于Keil5进行编译下载,Keil5中默认集成了arm的编译工具链。这种方式的优点是简单方便,但是相对应的不够灵活。例如我们在实际开发过程中经常一套代码需要在不同的RTOS和硬件平台上运行,为了更好的维护这套代码,我们一般会对RTOS和硬件驱动进行抽象,不同的RTOS和硬件平台分别是实现这些抽象。然后通过编译时传入不同参数来确定最终要使用的RTOS和硬件平台。这种情况如果利用Keil5去直接编译就比较麻烦,因此我们需要借助makefile去组织和管理代码。

2024-03-23 11:43:17 1096

原创 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 1446

原创 视频编解码技术介绍 - 基本概念篇

由于后续的工作要接触摄像头开发,因此这里需要提前了解些视频编解码相关的知识,以及视频相关的业务。但是工作至今由于没怎么接触过视频编解码,因此对于视频编解码中的很多东西都不是很清楚,也不知道该从哪里去学。这里主要记录下从各方渠道了解到的一些视频编解码的基本概念,让自己和大家对视频编解码先有个初步的认识。本文比较适合像我这种粗略了解过视频编解码技术的小白,另外这是一个学习记录文章,该文章中的很多内容借鉴自github上的开源文章。

2024-03-08 16:07:20 759

原创 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 977

原创 Zigbee direct 基础介绍

本文主要介绍zigbee direct是什么?为什么会有zigbee direct以及zigbee direct的使用场景等基础内容,增加自身和读者对zigbee direct的了解。Zigbee direct是zigbee联盟新出的一种zigbee解决方案,其主要是利用随处可见且操作方便的低功耗蓝牙 (BLE) 设备,简化 Zigbee 新设备的入网和已有设备的控制。

2024-03-05 17:09:47 832

原创 UWB技术了解

随着各手机厂商在其旗舰级上支持了UWB模块,和UWB相关的衍生应用也越来越广泛。例如苹果的AirTag无线追踪器,以及小米的“一指连”,手机指向支持UWB技术的电风扇,手机上会弹出一个控制卡片,进而实现对风扇的操控,无需实体遥控器,除此以外,小米“一指连”还实现了智能电视投屏、智能门锁靠近即开等操作。另外UWB在室内定位或者说小空间内的定位应用也很广泛,因为UWB采用的时基于飞行时间(ToF-base)的测距方式+ UWB信号的脉冲极短,因此它的精度很高,一般情况下能达到10cm的精度。

2024-02-20 20:07:23 1168

原创 PySide6学习 - 开发实践篇

本篇主要通过两个简单的示例,描述如何去搭建属于我们的第一个PySide6 程序,其中第一个程序非常简单,没有什么额外的语法使用,只是单纯的体验一下PySide6,第二个程序是一个最小框架程序,带有一点框架的东西。另外会介绍一下常见的控件操作有哪些。如果想对PySide6 有一个更深入的了解,可以参考github上的“PySide6 代码式教程后续考虑出两篇博客分别对两个比较典型的PySide相关项目进行一个解读。

2024-02-01 15:39:40 1941

原创 PySide6学习 - 基础篇

记录PySide6的学习过程

2024-01-31 14:08:00 1579

原创 使用Strace定位Linux下线程泄露

Linux下我们可以通过通过命令行输入free查看系统的整体内存消耗情况,以及通过输入查看进程实际消耗物理内存VmRss的方式了解到进程所消耗的内存。因此我们可以通过输入命令行的方式进行对比查看了解当内存泄露时,具体是哪个进程泄露的。但是想要查看线程所消耗的内存则需要借助外部工具了,这里我们介绍下通过strace工具查看进程内存增长时,具体是哪个线程增长的。

2024-01-30 15:00:03 999

原创 XR开发 第2章 apple vision pro XR开发的基础知识 1- 软件篇

本来是考虑到XR的学习资料比较少,但是VR和AR的资料相对比较充足,且XR当前发展只是早期阶段,所以先从VR和AR学起,再去研究XR的。但是后来看了一下B站上发布的苹果官方培训教程,感觉讲的还是不错的,因此决定还是先从XR开始学,后续有需要了再去学习VR和AR。本章我主要是结合苹果官方的第一节课所提到的各种基础知识进行说明,因为自身在该领域属于小白,所以很多名词解释我觉的还是直接采用官方的比较合适,如果我有一定理解的我会加上我的说明。注意。

2024-01-21 23:22:55 1017

原创 XR开发 第1章 聊一聊apple vision pro XR的开发

随着apple vision的正式发售,虚拟现实技术再次成为了人们讨论的热点,当我们静下来心来去思考时,会发现虚拟现实技术能够给我们的生活的各个方面带来巨大的变化。例如远程医疗,远程办公,影音娱乐,元宇宙等等。

2024-01-14 21:13:49 954

原创 网络基础知识 — 设备

介绍常用网络设备在网络中扮演的角色

2022-03-30 10:47:48 2589

原创 华为机试题库+题解【C语言版】

近期在刷华为机试题库,记录一下自己的解题思路,如有错误或或更好的解题方式,欢迎大家在评论区指出以便大家一起交流学习。另外希望有天能够加入这家光是听名字就让每个中国人骄傲的公司。

2022-02-13 12:12:29 3151

原创 linux下使用命令行辅助定位内存泄漏问题

前言最近自己正在做的一款产品,因内存泄漏经常出现重启或者是功能不正常的问题。为了解决这个问题,这里记录下目前所掌握到的使用命令行定位内存泄漏的一些措施。有点我们需要清楚,使用linux的命令行最多是帮我们定位到产生泄漏的进程,而并不能直接帮我们找出内存泄漏的具体原因,所以当定位到具体进程后,还需自己去参考别的博客采取一些手段去进一步定位泄漏原因。注⚠️:我后面所说的内存一般就是物理内存,如果是虚拟内存我会进行说明。一、free命令:free命令主要用于查看设备的内存使用情况,主要用于确定设备是否存

2022-01-03 22:10:36 2100 1

原创 努力工作的价值,以及为什么自己总是逃避努力工作

今天恰巧在《软技能,代码之外的生存指南》中看到了“努力工作的价值,以及为什么你总是逃避努力工作”这一章,看完之后对我造成了一定的触动,我也想借此机会谈谈自己对于努力工作的看法。

2021-12-21 22:38:08 173 1

原创 无线通信基础知识通俗理解

简述: 自己做了一段时间的zigbee设备的开发,但是发现一些基础概念还是经常搞不明白或者是很容易忘掉。为了解决这个问题,我准备使用一些简单通俗易懂的方式将无线通信的一些基础概念给映射到我们的生活中去,方便我们理解和记忆。映射关系:协议: 语言,如zigbee(中文)/wifi(英文) / ble(美国)zigbee设备: 人消息发送/接收:人之间的沟通频段(2.4GHZ /996MHZ): 不同的乡镇,如庙岔镇(2.4GHZ),姜寨镇(2.0GHZ),这里比喻的...

2021-07-25 15:03:31 2244 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 2512

转载 github丢弃本地改动与提交

转载自:github简明指南标题对应的内容在替换本地改动章节工作流:你的本地仓库由 git 维护的三棵“树”组成。第一个是你的工作目录,它持有实际文件;第二个是暂存区(Index),它像个缓存区域,临时保存你的改动;最后是HEAD,它指向你最后一次提交的结果。提交和更改:你可以提出更改(把它们添加到暂存区),使用如下命令:git add <filename> git add *这是 git 基本工作流程的第一步;使用如下命令以实际提交...

2021-07-01 16:02:38 461

原创 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 2088

原创 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 574

原创 Siliconlabs EFR32MG系列ZIGBEE终端休眠设备开发——碰到的问题

文章目录前言一、休眠不正常1.设备入网失败后,不能成功进入休眠了?2.休眠电流高达100ua?3.正常入网后,设备不能进入休眠了?二、外设1.测量电压一直都是3.3v总结前言SiliconLabs的ZIGBEE相关的开发,由于是插件化的所以其实各个方面做的都已经很完善了,需要我们去进行修改的不多。往往一个插件选择好了,配置好了就能够正常的使用了,我在这篇博客里面主要去记录一下自己碰到的问题。提示:以下是本篇文章正文内容,下面案例可供参考一、休眠不正常1.设备入网失败后,不能成功进入休眠了?

2020-11-20 09:45:14 1445 5

原创 MPU6050配置低功耗和中断

前言各位铁子们啊,当你们看到这篇博客的时候说明你很有可能和我碰到了一样的问题,然后犯了一样的错误。我在使用MPU6050的时候参考着寄存器手册(最新的寄存器手册会发现很多寄存器,文档上都没有提)和博客一点点的去做休眠和中断,花了好几天终于弄好了,结果发现在官方提供的相关的驱动库中有这部分的代码。例如: int mpu_lp_motion_interrupt(unsigned short thresh, unsigned char time,unsigned char lpa_freq)//进入低功

2020-11-16 18:31:12 6771 6

原创 Siliconlabs EFR32MG系列ZIGBEE终端休眠设备开发——第一章:基础文档简介

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、文档都在哪里?二、文档简介1.整体简介(其实就是翻译了一下它们的简介????)2.比较重要的文档3.ZIGBEE 应用层等其它API的网页版总结前言最近在使用Siliconlabs的EFR32MG系列套件进行ZIGBEE的的学习和开发,这里记录一下相关的过程。这章主要介绍ZIGBEE开发过程中会使用到的文档,以及如何去找到这些文档。这里以Simplicity studio 5举例。提示:以下是本篇文章正文内容

2020-11-03 22:38:08 1451 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 302

空空如也

空空如也

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

TA关注的人

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