isonu@hf
码龄7年
求更新 关注
提问 私信
  • 博客:34,596
    社区:1
    34,597
    总访问量
  • 19
    原创
  • 93
    粉丝
  • 138
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
加入CSDN时间: 2018-07-31

个人简介:Talk is cheap,show me the code.

博客简介:

weixin_42847269的博客

查看详细资料
个人成就
  • 获得143次点赞
  • 内容获得12次评论
  • 获得254次收藏
  • 代码片获得193次分享
  • 博客总排名120,162名
  • 原力等级
    原力等级
    1
    原力分
    67
    本月获得
    1
创作历程
  • 5篇
    2025年
  • 14篇
    2022年
成就勋章
TA的专栏
  • 新手物联网入门
    5篇
  • 新手驱动调试
    10篇
  • 数据结构与算法的复习
    5篇

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 5

TA参与的活动 0

兴趣领域 设置
  • 数据结构与算法
    数据结构
创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

89人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

物联网入门----框架介绍

本课程大致框架如上,设备端通过4G模块上传与接收指令,和MCU通过UART通信,数据上报与控制流程都通过该框架实现,整套框架需要具备一点点C语言基础、总线基础、Python基础、Vue基础与计算机网路基础,也可以直接上手边做边学,本课程具有简单易懂、免费及快速上手的优点。
原创
博文更新于 2025.01.20 ·
158 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

物联网入门----虚拟机下载与使用

这里创建完虚拟机,ping百度测试网络是否正常,上面各个步骤很好理解,选择时区,分盘,创建用户等等,按照步骤做没啥问题,有问题网上也会有很多解答,我使用的VMware版本为16.0.0,centos7。本篇课程介绍虚拟机的下载及配置,我们使用的是VMware workstation,本质是运行在宿主操作系统上的一片内存,更多的可以自行学习操作系统,按照教程安装即可。浏览添加下载的镜像就可,接下来打开虚拟机,第一次启动会有点慢,第一次配置也稍有点麻烦。安装完成虚拟机软件,打开创建虚拟机。
原创
博文更新于 2025.01.20 ·
167 阅读 ·
3 点赞 ·
1 评论 ·
0 收藏

物联网入门----客户端数据的上报与显示

接下来是将emqx服务器接收到的数据通过webhook转发给数据库进行存储,这里选择webhook是因为个人的emqx服务器无法使用数据库功能,所以只能通过webhook将接收到的消息原封不动转发给接口进行处理,这里我选择使用python写一个webhook接口,首先需要先在emqx服务器上创建一个webhook:为了方便这边接收到事件与消息都会触发,这里的URL需要自己写一个接口,我们在虚拟机上安装一个python环境写一个简单的接口。
原创
博文更新于 2025.01.20 ·
948 阅读 ·
16 点赞 ·
0 评论 ·
10 收藏

物联网入门----虚拟机添加sudo权限(补)

再修改sudo的配置文件。
原创
博文更新于 2025.01.20 ·
132 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

物联网入门----下载EMQX服务器与Mysql

更新后再下载会发现提示GPG key错误,这里可以关闭gpgcheck,在刚刚的repo文件修改:将repo文件中每个gpgcheck改为0在这个网页下载服务器注意Install the dependencies时要加sudo给权限开启emqx服务器后可以打开emqx的dashboard,在网页搜索http://{自己的ip}:18083就可以打开首次登录的账号是admin,密码是public,进去后可以自己修改密码。
原创
博文更新于 2025.01.20 ·
1614 阅读 ·
11 点赞 ·
0 评论 ·
11 收藏

LCD/HDMI OUT调试经验(2)------驱动流程与基本操作

本章先接上章描述一下LCD/HDMI OUT在开机过程中显示的流程,并介绍一些UEFI阶段的权限配置与屏幕参数配置,最后是一些需要掌握的驱动中常添加功能。注意:本文从内核开发角度介绍,接触到上层后本文一些概念不适用一、BP侧文件的配置及程序流程我们调试的机器开机大致可分为两个阶段,UEFI阶段以及kernel阶段,UEFI阶段类似于一段程序的初始化,而kernel阶段就是程序在执行功能函数。上图为UEFI的运行流程,包括初始化和引导操作系统,最后进入kernel系统。对应到项目文
原创
博文更新于 2022.12.28 ·
2523 阅读 ·
4 点赞 ·
4 评论 ·
19 收藏

LCD/HDMI OUT调试经验(4)------点亮LCD

本文以最近在QCM6490平台调试的一块FT8719为例,详细介绍点亮一块LCD屏幕的完整过程。点亮屏幕的操作主要分两部分:上电和配置MIPI参数。上电保证屏幕可以有正常的背光,而MIPI参数保证有合适的清晰度,分辨率和画面。一、上电拿到调试任务先看原理图,以下为LCD的一些引脚。从名称中可以了解我们需要对LCM_AVDD、LCM_AVEE以及VREG_L12C上电,LED_K和LED_A为PWM调光的引脚,最后还需要对RESET_N进行拉低高低电压初始化初始化。如果是新手或
原创
博文更新于 2022.12.28 ·
5338 阅读 ·
35 点赞 ·
0 评论 ·
58 收藏

LCD/HDMI OUT调试经验(5)------点亮LVDS屏幕

本篇文章基于高通845模块,详细讲解外设MIPI转LVDS芯片lt9211的调试过程。本文主要分两部分,第一部分为kernel阶段的初始化及点亮屏幕,第二部分为根据客户需求开机就点亮屏幕,即在UEFI阶段就初始化芯片。但是调试步骤都是一样的,一加驱动二上电三配屏。一、kernel阶段的点亮过程在之前的文章中介绍过LCD的点亮以及调压芯片的调试,点亮LVDS其实就是结合了这两者的调试步骤:(1)阅读原理图与芯片数据手册并添加驱动拿到调试任务,首先需要了解与明确调试芯片的功能、原理图
原创
博文更新于 2022.12.28 ·
5065 阅读 ·
32 点赞 ·
1 评论 ·
52 收藏

LCD/HDMI OUT调试经验(7)------I2C与显示问题总结

本篇文章将列举入职以来调试各种项目中遇到的I2C与显示的问题并给出解决方案,大多数比较难找到原因的问题不太会碰到,但是也可以借此对I2C与显示了解更深入。关于解决方案只是提供错误原因和代码与配置的修改,具体更细致的原因请各位自己根据具体情况了解清楚。一、I2C调试问题(1)I2C不通a.检查上电当你配置好设备树并且添加驱动上电,运行驱动发现I2C读写失败后,首先应该先量配置的引脚的电是否都有,自己量时需要对照位号图和原理图确定位置,这里教一下如何确定机器引脚位置:以这VCC
原创
博文更新于 2022.12.28 ·
3484 阅读 ·
3 点赞 ·
0 评论 ·
17 收藏

LCD/HDMI OUT调试经验(8)-----事件上报

本篇文章的内容与LCD/HDMI OUT的内容关系不大,事件上报是内核与上层通信的一种方式,在有些时候需要上报一些插拔事件或者上报分辨率等信息需要接触到,还是和之前的文章一样,本篇文章将介绍三种事件上报的方式但是只是介绍具体操作步骤,而理论知识以及上报过程需要自己找资料理解。一、kobject事件上报及验证kobject是高通自带的上报接口之一,调用kobject_uevent函数即可上报,以下为为电源插拔做的事件上报,并建立进程接受到上报事件后重置USB的示例。首先找到电源驱动并找到电源插
原创
博文更新于 2022.12.28 ·
922 阅读 ·
3 点赞 ·
2 评论 ·
4 收藏

LCD/HDMI OUT调试经验(0)------驱动介绍

本人是一位主要负责调试显示的驱动工程师,我将以显示相关的驱动调试为例,分享从入职不到一年以来的驱动调试经验。注意,此系列文章着重介绍关于实际调试的操作,不注重理论,请空余时间补充文中不懂的理论知识。驱动对我来说,无非是给一片连接好电路的芯片按照一定规则上电让它运作起来。拿一些显示信号转换芯片(9211,9611,96111uxc等等)来说,首先需要了解这类芯片的作用。...
原创
博文更新于 2022.12.28 ·
1311 阅读 ·
8 点赞 ·
0 评论 ·
10 收藏

LCD/HDMI OUT调试经验(1)------驱动软件架构

因为调试的平台是高通,所以只介绍关于高通平台的软件架构,以下总结基于我的调试经验,与专业总结会有差距。一、高通平台驱动文件架构上图为目前我所接触到最多的文件架构,高通平台的代码有很多,作为初级bsp工程师暂时无需了解其余文件,主要是kernel中的driver、Makefile以及设备树。基本的配置步骤是:设备树->bp->驱动文件。在设备树先添加自己所需节点与设备信息,在bp修改一些权限之类的配置辅助驱动申请,再去添加或者修改驱动文件编译。(1)设备树的解析它是
原创
博文更新于 2022.12.28 ·
2082 阅读 ·
5 点赞 ·
2 评论 ·
16 收藏

LCD/HDMI OUT调试经验(3)------GPIO操作与MIPI参数的获取方式

在了解上一章节引脚权限相关操作后,我将抛开官方描述,从入手调试角度详细介绍模块中的GPIO是什么、怎么操作等等。另外,最后将以LCD的mipi数据获取方式介绍AP与BP的交流。一、GPIO之前讲述一些概念时我都以引脚来代替GPIO,一是因为引脚的概念大家在大学都学过了解过,二是抛开概念不谈,其实GPIO和pin脚是一样的,只不过主动可控的pin脚叫GPIO,而被动受影响的pin脚就是pin,这里需要注意的是我们在高通的代码中只能操作高通模块的GPIO,一些外接芯片的引脚都是受控的,所以无法直
原创
博文更新于 2022.12.28 ·
2868 阅读 ·
7 点赞 ·
0 评论 ·
22 收藏

LCD/HDMI OUT调试经验(6)------点亮HDMI屏幕

在调试display的经历中,除了一些手持类设备以外其他机器基本都会外接HDMI屏幕,显示原理之前也提过:由模块发出的MIPI信号经过9611或者9611uxc芯片输出HDMI信号最后在屏幕进行显示。这两款芯片的最主要差别是9611uxc最高可以支持到4K60fps 的输出画面而9611是4K30fps。和调试9211的大致步骤完全一样,9611和9611uxc的芯片也是分为添加驱动,上电和配置屏幕,只不过需要具体修改配置屏幕的一些参数。所以请先熟悉9211的调试再阅读本篇文章。本文基于高通845平台,
原创
博文更新于 2022.12.28 ·
2604 阅读 ·
2 点赞 ·
1 评论 ·
20 收藏

字符串匹配(朴素查询+简单KMP)

字符串匹配问题在串一章中是最需要研究的问题,结合课本理论今天花了点时间写了字符串匹配的程序,分别用爆破和简单KMP实现了,下面直接上程序:之后研究了网上的做法,发现绝大多数人都是用while来实现主要的KMP程序,但是这里我用了for循环。while更好理解而for有几处小细节需要注意,总之写程序边手写验证边写对我来说是最好的办法。KMP算法虽然程序看上去很简单,但是其中的复杂程度不低于树图类算法,其本质就是研究子串,或者更精确讲是研究子串的next数组。结合程序我认为大家需要思考的点有:为什么网上的
原创
博文更新于 2022.06.08 ·
305 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

CTA-861标准解析EDID的VSDB与VDB

之前在某项目上做屏幕自适应分辨率时,按照vesa标准解析edid得出的分辨率不全导致自适应功能概率性失效,换为CTA 861标准解析后功能正常。此功能的代码对数据结构知识的要求不高,但是对C语言能力要求较高,特别是数位移、临界值的判断以及接口构建等操作。花了一下午写了VSDB与VDB解析的接口,除了vic数组其余全部手码,代码如下:#include <stdio.h>//static int edid[] = {//0x00,0xff,0xff,0xff,0xff,0xff,0xf
原创
博文更新于 2022.05.22 ·
3943 阅读 ·
8 点赞 ·
0 评论 ·
11 收藏

链栈实现括号匹配

睡前练手,欢迎纠错。实现计算机底层括号匹配功能。#include <stdio.h>#include <string.h>#include <malloc.h>#define LEN 20int flag;typedef struct Stack { char val; Stack* next;}Stack;int Initstack(Stack *&S) { S = (Stack*)malloc(sizeof(Stack));.
原创
博文更新于 2022.05.19 ·
384 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

规定大小的循环队列

#include <stdio.h>#define Maxsize 10static bool flag = 0;static int det = 0;typedef struct Queue { int val[Maxsize]; int front, tail;}Queue;int initQueue(Queue& Q) { Q.front = Q.tail = 0; return 1;}int Enqueue(Queue& Q, int nu.
原创
博文更新于 2022.05.16 ·
366 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

顺序表与链表实现双端队列与栈的增删

1.栈的增删与测试#include <malloc.h>#include <stdio.h>#define Maxsize 10/*顺序栈的数据结构定义*/typedef struct { int data[Maxsize]; int top;}Stack;/*链表栈的数据结构*/typedef struct Stacknode { int data; Stacknode* next;}Stacklist, Stacknode;/*初始化栈
原创
博文更新于 2022.05.15 ·
286 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多