单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读

技术阅读

  • Camera 软件工程师养成

    2023-09-27

    本文以个人的工作学习经历来描述一 Camera 软件工程师的披荆斩棘之路,时间从大学开始,以至任职于高通 Camera 软件工程师结束,杂以本人学习过程当中的一系列学习笔记和博客文章,绝对是干货满满,甚至于稍有溢出,堪称手把手教你如何成为一名稍显合格的 Camera 软件工程师。另外由于是以个人经历为参考点出发的,所以有些看起来中间会有很多是无关紧要的,但是依然作为自己的经历一部分写进去了。倘若是按照我这个学习路径来的话可能会稍显吃力,因为要接触的东西实在是太多了,并且有些可能会跟不上时代的发展,但是其中的原理还是有必要去了解的...

  • 10个提高生产力的 Linux 命令与技巧,用完直接起飞!

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 在本文中,我将向您演示一些专业的Linux命令技巧,这些技巧将使您节省大量时间,在某些情况下还可以避免很多麻烦,而且它也将帮助您提高工作效率。51Linux.top二、使用tab键进行补全 Tab键想必是大家使用Linux中使用最为频繁的一个按键了,想必Linux按键的基本使用方式大家已经很熟悉了,我这里就简单的做一下介绍。Tab键俗称制表符,位于键盘最左侧大小写锁定键CapLock之上,波浪线键之下。制表位表示四个空格,用来分隔字符。在命令行操作中可以用来自动补齐命令,选项参数(最新Redhat7支持部分参数...

  • 今天给大家讲解一下单片机的储存器!

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 程序存储器(又称数据Flash),顾名思义,是用来存储用户的程序,使单片机能够按照编写的代码顺序执行,完成指定的任务。所以程序存储器是只读存储器(只读存储器),我们已经听过很多次了。代码存储在程序存储器里面,一般有常数、表格、pi值、数码管形状、SCM ID号、内部参考信号源、关机唤醒定时器频率、IRC参数等数据。注意: 单片机每次都是烧录程序,烧录就是为了把代码放到程序存储器中,而我们用的电脑则是把硬盘的数据和程序放到RAM,再用CPU去读取RAM里面的数据和程序。二、存储器的存储单位与编...

  • ubuntu与Centos添加开启启动

    2023-09-27

    关注★星标公众号,第一时间获取信息两步添加自启动 两步添加开机启动,如下:1.编写开机脚本这个脚本需要放在/etc/init.d/下面#! /bin/shPATH=/sbin:/bin:/usr/sbin:/usr/binDAEMON=/usr/local/testNAME=testDESC=testPID=/var/run/test/test.pidtest -x $DAEMON || exit 0set -ecase "$1" in  start)        echo -n "Starting $DESC: "        start-stop-daemon --start --quiet --pidfile $PID \                --name $NAME --exec $DAEMON -- $DAEMON_OPTS        echo ...

  • 【开源小项目】基于STM32的OLED舵机菜单显示

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 本文的OLED多级菜单UI为一个综合性的STM32小项目,使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换,搭配DHT11,RTC,LED,KEY等器件实现高度智能化一体化操作。后期自己打板设计结构,可以衍生为智能手表等小玩意。目前,项目属于裸机状态(CPU占用率100%),后期可能会加上RTOS系统。(本项目源码在本文末尾进行开源!)二、硬件实物图 温度计:游戏机:三、硬件引脚图 OLED模块:VCC --> 3.3VGND --> GNDSCL --> ...

  • Notepad++作死,国产文本编辑器Notepad--发布

    2023-09-27

    点击左上方蓝色“一口Linux”,选择“设为星标”第一时间看干货文章 ☞【干货】嵌入式驱动工程师学习路线☞【干货】一个适合初学者的Linux物联网综合项目☞【干货】Linux嵌入式知识点-思维导图-免费获取 1作死的Notepad++ Notepad 和 Notepad++ 都是基于 Windows 的文本编辑器,通常用于编写和编辑纯文本文件。这两个应用程序都是简单的轻量级程序,提供基本的文本编辑功能。Notepad++是一口君经常使用的一款文本编辑软件,用了大概10年了。然而Notepad++软件的作者是中国台湾省人,其具有明显的gd/jd/td倾向。该作者经常大量发表错误言论,且拒不...

  • 超硬核|手把手教你制作一个示波器

    2023-09-27

    击上方“果果小师弟”,选择“置顶/星标公众号”干货福利,第一时间送达!摘要:此示波器的主控是STC8A8K64S4A12,是在B站老刘示波器基础上的升级版,扩展了测量负电压的功能,更新了UI设计,屏幕升级为1.3寸OLED屏。原理图3D效果图实物图视频演示系统架构Mini示波器采用了一套成本低廉但高效的硬件,配合层次化的软件框架,实现对常规低频信号波形的采集、分析、显示。硬件部分的主要工作有:电源管理(5V、2.5V、-5V);对信号的衰减、限幅、偏置。最后将处理好的电压信号送入MCU的ADC外设,进行数据采集。由于ADC外设只能采集正电压,因此我们通过...

  • 如何给你的Linux系统添加一个新的Linux命令

    2023-09-27

    前言    平时我们在shell命令行上输入的命令都是应用程序,比如ls,ifconfig,vi等。我们下载的busybox源码中就包含着这些程序源码,那接下来我们来看看如何实现一个命令。如何实现我们先分析一下其他的命令,比如gcc:gcc helloworld.c -o helloworld上面的编译指令中,gcc就是命令程序,然后后面的三个都是传给它的参数。程序是如何获取到参数的呢?我们都知道main函数的定义如下:int main(int argc, char * argv[])argc是参数个数,argv是参数值。所以大家应该都知道如何获取参数了吧。有了参数,我们就要进行解析了。这就有两种方法:对参数进...

  • Linux Vim编辑器的基本使用和一些常用的小技巧,快来学习一下吧!

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 相信学习过Linux的朋友们对于Vim编辑器都不会陌生吧!Vim是许多开发人员和高级用户的首选编辑器。它是基于 Bill Joy 在 1970 年代为 UNIX 版本编写的 Vi 编辑器。它继承了 Vi 的键绑定,但也增加了大量原始 Vi 所缺少的功能和可扩展性。尽管 Vim 不像最初标准 GUI 文本编辑器(如 Gedit)或文字处理器(如 OpenOffice.org 的 Writer)那样容易上手,但从长远来看,使用 Vim 可以提高工作效率。如果你是一个盲打的程序员,你会发现你的速度在 Vim 上会提高得更多,因为你的手不需要离开键盘,也不用操作...

  • 如果让ChatGPT来写代码他会怎么写?

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 今天突发奇想想试一下如果让ChatGPT来写51代码会怎么样呢?今天我们就一起来看一下他会怎么写51代码,机器人写出来的代码到底可不可以运行?在开始之前我们首先让ChatGPT做一个自我介绍吧!问: ChatGPT介绍一下自己吧!答: 当然,我很乐意介绍自己!我是ChatGPT,是一款基于人工智能技术的自然语言处理模型,由OpenAI公司开发。我的全称是"Conversational Generative Pre-trained Transformer",简称"GPT",目前最新的版本是GPT-3。我使用深度学习技术,通过大量的自然语言文本数据进行训练,可以根据...

  • 使用51单片机和DS1302时钟芯片做一个简易的电子时钟

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 今天给大家推荐一个51单片机小实验,带你使用51单片机做一款简易的电子时钟,其中计时模块采用DS1302硬件模块,显示采用LCD显示屏,具体怎么实现开来一起看看吧!二、DS1302模块介绍 DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟和31字节静态 RAM,通过简单的串行接口与单片机进行通信。实时时钟、日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年自动补偿等多种功能。时钟操作可通过 AM/PM 指示,DS1302 与单片机之间能简单地采用同步串行的方式进行通信,简易三...

  • Linux环境下的软件管理:如何查看、卸载和了解软件的作用和依赖项

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 本文介绍了在Linux环境下进行软件管理的方法,包括查看已安装的软件、卸载软件、了解软件的作用和依赖项。对于Linux初学者和有经验的用户,本文提供了命令行和GUI工具两种方法,使用户可以轻松地管理和维护Linux系统。如果您想更好地了解Linux环境下的软件管理,那么本文一定会对您有所帮助。Linux环境下的软件管理是一个重要的话题,因为在Linux操作系统中,软件的管理和安装方式与Windows和Mac OS有所不同。在本文中,我们将介绍如何在Linux环境下进行软件管理,包括如何查看已安装软件、卸载软件、查...

  • 关于Linux内存管理的详细介绍,这篇万字长文值得你的收藏点赞!

    2023-09-27

    关注★星标公众号,第一时间获取信息一、Linux内存管理概述 Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩等一系列操作的管理。在Linux中,内存被划分为多个区域,每个区域有不同的作用,包括内核空间、用户空间、缓存、交换分区等。Linux内存管理的目标是最大限度地利用可用内存,同时保证系统的稳定和可靠性。1.1 什么是内存管理内存管理是计算机系统中负责管理系统内存资源的一种机制,主要包括内存分配、内存释放、内存映射和虚拟内存管理等方面。它是计算机系统中非常重要的一个组成部分,能够有效地提高系统的资源利用率...

  • 要想成为Linux驱动开发工程师需要技能?

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 Linux驱动开发是一项高度技术性的工作,需要深厚的编程技能和对计算机硬件的深入理解。随着物联网、人工智能等领域的快速发展,Linux驱动开发工程师的需求日益增加。在这篇文章中,我将为您介绍一条Linux驱动开发工程师的学习路线,包括必要的技能和知识点。二、为什么学习Linux驱动开发? Linux驱动开发是当前IT行业中非常重要的领域之一,随着物联网、云计算、人工智能等技术的快速发展,对Linux驱动开发工程师的需求不断增加。2.1 未来工作趋势物联网:随着物联网的快速发展,越来越多的物联网设备和...

  • 嵌入式 Linux 入门:如何在IMX6ULL开发板上安装和配置 Linux 操作系统

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 本文我将介绍如何在 IMX6ULL 开发板上安装和配置 Linux 操作系统。IMX6ULL 是一款低功耗、高性能的 ARM Cortex-A7 处理器,广泛应用于嵌入式系统中。我们将使用 Yocto Project 工具链构建和定制我们的 Linux 操作系统,并将其烧录到 IMX6ULL 开发板上。二、前期准备 在开始安装和配置 Linux 操作系统之前,需要准备以下物品:IMX6ULL 开发板USB 转 TTL 调试器一台运行 Linux 操作系统的计算机SD 卡SD 卡读卡器三、下载工具链 Yocto Project 是一个用于构建嵌入式 Linux 操作系统的工具集。我们需要从其...

  • 在Linux中设备树是怎么和驱动程序联系起来的?

    2023-09-27

    关注★星标公众号,第一时间获取信息前言 DTS文件和内核驱动的联系通常是通过设备树机制实现的。设备树机制是一种描述系统硬件的数据结构,它以树形结构组织设备节点,并提供设备节点的属性信息,包括设备地址、中断号、寄存器地址等等。在Linux内核启动时,内核会使用设备树机制自动加载设备驱动程序,并将设备节点和驱动程序进行匹配,从而实现设备驱动的自动加载和初始化。什么是DTS? 设备树源码(Device Tree Source,DTS)是用来描述硬件设备信息的一种语言。它是一种中立的表示方式,用于描述硬件设备的物理特性、接口信息和驱动程序的相关信...

  • Linux驱动中的open函数是如何从软件打通硬件呢?

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 打开文件是Linux系统中最基本的操作之一,open函数可以实现打开文件的功能。下面我将为您介绍open函数打通上层到底层硬件的详细过程。二、open函数打通软硬件介绍 open函数是系统调用中的一种,其原型定义在头文件unistd.h中:#include <unistd.h>int open(const char *pathname, int flags, mode_t mode);其中,pathname参数是要打开的文件名,flags参数是打开文件时的标志,mode参数是文件的访问权限。当应用程序调用open函数时,该函数首先会在内存中创建一个file结构体,这个结构体表示应用...

  • 分享三个Linux下常用的三个网络测试工具

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言 在Linux系统中,网络命令是管理和监视网络连接的重要工具。其中,ping、traceroute和nslookup是常用的网络命令,可以用来测试网络连接、诊断网络故障等。本文将详细介绍这三个命令的用法和实际应用场景,并提供一些实用技巧,以帮助您更好地管理和维护Linux系统的网络连接。二、Ping命令 Ping命令用于测试网络连接和检测主机是否可达。它通过向目标主机发送ICMP(Internet Control Message Protocol)回显请求,然后等待主机返回ICMP回显响应来测试网络连接。以下是ping命令的基本用法:ping [option]...

  • “一将无能,累死三军”,中国电科员工清明加班事件,后续来了!

    2023-09-27

    关注★星标公众号,第一时间获取信息“一将无能,累死三军”,中国电科员工清明加班事件,后续来了!正值清明假期,不少人选择外出踏青游玩,或是在家中休息。而就在今天,一段员工怒喷上司,拒绝清明节加班的聊天记录,突然火爆全网!网友们看完聊天记录都大呼过瘾,纷纷留言“吾辈楷模”!这名获得全网力挺的热血员工,来自于中国电科集团的软件开发部门。中国电科在多个领域内,都占据数一数二的主导地位,在国防和民生方面更是有重大建树。事发时,软件部门的董先生称领导要安排加班,让员工自愿报名。原本好好的假期,突然临时通知要去加班,换...

  • arm嵌入式技术学习,arm嵌入式有什么需要注意的地方?

    2023-09-27

    关注★星标公众号,第一时间获取信息一、前言ARM嵌入式和单片机学习有着密不可分的关系,可以抛开复杂的软件结构,先掌握硬件操作。ARM与单片机是有着许多区别的,相比来说ARM要比单片机复杂的多。据某位知乎大神表示,往往单片机只需要对一个寄存器赋值即可初始化,而在ARM下就要调用库函数,另外,每个引脚其功能都多了许多,相应的配置也会更为麻烦。但如果有了丰富的ARM的项目经验就会发现,其实它的应用配置也是千篇一律,有章可循的。作为初学者首先要把ARM和单机片的区别了解清楚,在这里小编主要是从软件和硬件方面来解说的。二、软件区别软...

  • 内核抢占,让世界变得更美好 | Linux 内核

    2023-09-27

    大家好,我是老吴。今天要分享的是抢占相关的基础知识。本文以内核抢占为引子,概述一下 Linux 抢占的图景。我尽量避开细节问题和源码分析。‍‍‍‍什么是内核抢占?别急,咱们慢慢来。先理解抢占 (preemption) 这个概念:involuntarily suspending a running process is called preemption夺取一个进程的 cpu 使用权的行为就叫做抢占。根据是否可以支持抢占,多任务操作系统 (multitasking operating system) 分为 2 类:1、cooperative multitasking os这种 os,进程会一直运行直到它自愿停下来。这种自愿停止运行自己的行为称为 yielding。协作...

  • 加班不足 30 小时捐 300元 ?深圳当事公司:内部之事无可奉告!

    2023-09-27

    关注★星标公众号,第一时间获取信息“活久见!”“离大谱!”深圳一公司被爆:员工每月必须加班30小时。每晚按时加到20:30,给予最高20元餐补。加班费呢?对不起,没有。只能申请调休。“精彩”的来了——若加不满,需倒给公司300元。这项规定被白纸黑字地落在公司新发布的加班公告中。有媒体向该司求证,情况属实,并得到一句:没什么回应,这是公司内部的事情。一时之间,网友的愤怒达到极点,与该话题相关的词条被分分钟送上热搜第一。“这是要上班上到欠钱吗??”“劳动法就是摆设啊,简直无法无天胡作非为。”“古代农奴都比现代人休息时间多...

  • 如何破解单片机内的程序?

    2023-09-27

    关注★星标公众号,第一时间获取信息▌单片机解密是什么?单片机解密又叫单片机破解,芯片解密,IC解密,但是这严格说来这几种称呼都不科学,但已经成 了习惯叫法,我们把CPLD解密,DSP解密都习惯称为单片机解密。单片机只是能装载程序芯片的其中一个类。单片机(MCU)一般都有内部程序区和数据区(或者其一)供用户存放程序和工作数据(或者其一)。为了防止未经授访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就...

  • 为什么大厂一边裁员一边招聘?

    2023-09-27

    关注★星标公众号,第一时间获取信息最近一两年互联网寒冬,听闻各大厂毕(裁)业(员)的人不少,但又在持续招聘。就跟个漏斗似的,有进有出。一家企业又减员,又招人,还活水。这背后的底层逻辑又是什么?分享一篇职场老司机的文章给大家。以下为原文内容和出处说明,文内的 “我” 均指代原作者。真实在大厂工作过,十几年的互联网老兵告诉你事实。大厂里面有很多的业务线,也有很多的部门,每个部门负责的都不一样,一个大厂有数百条业务线,有的赚钱,有的赔钱。但是通常赔钱的最多。通常大厂是这样玩的:上层领导看中了一个方向,比如说游戏是...

  • USB 通信协议深入理解

    2023-09-27

    关注★星标公众号,第一时间获取信息基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成;一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。包(Packet)包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。数据在 USB总线上的传输以包为单位,包只能在帧内传输。高速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。...

  • 使用 Docker 搭建本地开发环境!真心强啊

    2023-09-27

    关注★星标公众号,第一时间获取信息本地开发之痛苦在开发之前,首先你需要安装各种开发工具和服务支持到你的开发环境当中,可能会出依赖问题,环境变量问题,端口冲突,经编译库问题等等。开发途中,可能你又需要依赖一些其他的服务,你最好祈祷不会出问题,可能你又要重写来配置你的环境,因为你的所有的依赖服务都在你的唯一的工作空间里面。如果你的伙伴的操作系统不统一,可能你还会遇到一些不同元字符解析不一致的问题。然后上线之前,可能你在本地开发调试都可以完美运行,一但部署到服务器,就会出现各种问题。因为大多数情况下,我们的开发...

  • 看看程序员的中秋节都是怎么过的?

    2023-09-27

    关注★星标公众号,第一时间获取信息皎皎天上月 圆圆中秋节脉脉星河稀 款款逢假期昨天是一年一度的中秋佳节知道程序员的中秋是如何过的吗?在你们的想象中是这样子的吗?无时无刻在打代码买一件格子衬衫送给自己当中秋礼物头顶比八月十五的月亮还亮错了错了程序员怎么会这么简单的过中秋呢下面告诉你程序员过中秋的正确打开方式作为一个挣得了高薪吃得了泡面的程序员不但能行云流水的写代码还可以低头写代码之余吟诗一首程序员之诗(一)写字楼里写字间,写字间中程序员。程序人员写程序,又将程序换酒钱。酒醒只在屏前坐,酒醉还来屏下眠。酒醉酒醒...

  • 【毕业设计】基于单片机的便携式空气质量检测仪 - 物联网 嵌入式

    2023-09-27

    关注★星标公众号,第一时间获取信息0 前言???? 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是???? 基于单片机的便携式空气质量检测仪????学长这里给一个题目综合评分(每项满分5分)难度系数:4分工作量:4分创新点:3分???? 选题指导, 项目分享:“https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E...

  • 这些年搜集的 Linux 常用命令!

    2023-09-27

    关注★星标公众号,第一时间获取信息虽然平时大部分工作都是和网络相关, 但会接触Linux系统, 尤其是使用了Mac之后, 每天都是工作在黑色背景的命令行环境中. 自己记忆力不好, 很多有用的Linux命令不能很好的记忆, 现在逐渐总结一下, 以便后续查看。基本操作Linux 关机,重启# 关机shutdown -h now# 重启shutdown -r now查看系统,CPU信息# 查看系统内核信息uname -a# 查看系统内核版本cat /proc/version# 查看当前用户环境变量envcat /proc/cpuinfo# 查看有几个逻辑cpu, 包括cpu型号cat /proc/cpuinfo | grep name | cut -f2 -d:...

  • Linux内核中I2C总线及设备长啥样?

    2023-09-27

    [ 导读] 本文通过阅读内核代码,来梳理一下I2C子系统的整体视图。在开发I2C设备驱动程序时,往往缺乏对于系统整体的认识,没有一个清晰的思路。所以从高层级来分析一下I2C系统的设计思路,将有助于设计调试具体的驱动程序。非常抱歉,有两张图放错了,修改更新一下。I2C/SMBUS基础 I2C是一种芯片间通讯总线技术,最早由Philips设计制定。下面内容参考I2C 2.1 规格书半双工通信方式,通信采用主/从结构支持多主模式,下图来源于I2C 2.1规格书其内部电气实现采用集电极开路(Open-collector)/漏极开路(open-drain)结构以实现线与功能,这是总线的实现基...