嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读

技术阅读

  • ChatGPT科学提问指南,助力获取高质量答案!

    2024-07-19

    ChatGPT高质量答案提问手册ChatGPT的大风已经刮到世界每一个角落了,还没听说过ChatGPT的人已经落伍了!这阵子,各大巨头纷纷加入人工智能AIGC的竞争中,纷纷推出自家产品。好多人也都试用体验了,有些人觉得ChatGPT很强大,有些人则觉得不过如此。觉得不过如此的人可能是使用姿势不对,在对话中使用的提示词不准确,从而没有获得满意的回答。这里有一份 ChatGPT高质量答案提问手册 , 他是英文版《The Art of Asking ChatGPT for High-Quality Answers》的中文翻译版本。手册的目的是通过大量提问公式、提问实例,帮助您利用chatgpt获取高质量答...

  • 用Python实现点兵点将系统

    2024-07-19

    大家注意:因为微信最近又改了推送机制,经常有小伙伴说错过了之前被删的文章,比如前阵子冒着风险写的xxx,再比如一些限时福利,错过了就是错过了。所以建议大家加个星标,就能第一时间收到推送。????你好呀,我是程序员了不起,一个90后的老程序员啦~平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~在某些难以抉择得时候,我们经常要用外力来帮助我们做出选择比如,梁山出征方腊前沙场点兵,挑选先锋的场景这个时候,有一个随机点名系统就非常好啦,毕竟我水泊梁山的名号~效果展示创建一个这样...

  • ChatGPT大规模封号...

    2024-07-19

    今天早上各个ChatGPT&AI群都在传一个消息:今天ChatGPT官方大面积封号,今天登录gpt千万别用亚洲节点!过了会很多人开始发自己的帐号被封了:其实这不是ChatGPT第一次对中国用户下手,早在一个月前ChatGPT就在做各种针对中国用户的限制和封禁。当然今天这种规模算是升级了,甚至我在知乎上看到有些日本、东南亚的用户也在讨论被封号了。很多人可能要问为什么?包括我的ChatGPT星球上也有会员在问,其实原因很简单:ChatGPT这玩意真的能提升生产力,并且用好了是数倍提升。而美国现在和中国是个啥状态,我就不用多说了。禁止我们使用就是打击竞争对手...

  • 偷偷曝光下国内这些软件外包公司!(2023 最新版)

    2024-07-19

    你好呀,我是程序员了不起,一个90后的老程序员啦~平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~推荐阅读:看到一份国内的外包公司汇总,整理得比较全,贴图出来给大家看看。(图片来源:xiaojin21cen.blog.csdn.net/article/details/79479932)其实工作几年之后,就能比较容易判断出一家公司是不是外包。外包能不能待?关于外包能不能待的问题,需要结合自己的实际情况来理性的判断。情况一比如,刚走出学校,学历一般、技术水平也一般的小伙伴,或者是刚培训出来准备入行的小伙伴。这个时期...

  • 利用微信公众号的图片上传接口,创造属于自己的图床功能!

    2024-07-19

    每天早上七点三十,准时推送干货由于公众号改版,为了不错过精彩内容,大家一定要把我们星标哦!作为一个技术博主,了不起不是在创作就是在创作的路上(当然偶尔也会有点恰饭文~还指望大家多多支持),特别是在写一些技术文章的时候,经常会用到图片,然而为了在多个平台同步发文,就需要使用图床了。之前了不起用的是微博的图床,可是今年年初的时候,突然发现用不了了,没办法毕竟是免费的,不稳定不能用也很正常,了不起只能再想想其他办法了。Typora 配置后面一想既然是为了写公众号,那可以将图片直接上传的公众号的素材库呀,因为日常写作的软...

  • 程序员单干,结局大概率要饭...

    2024-07-19

    推荐阅读:你好呀,我是程序员了不起,一个90后的老程序员啦~平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~有人问我,反正都是写程序,程序员为什么不选择单干?其实,波哥早年间也是这么想的,并且也真的这么干了。但结局,是真的差点要饭...波哥当时工作5年,有足够的开发经验。一个契机,决定和朋友一起离职单干,那会儿的兴奋感我现在还记得,潜意识里感觉自己要发达了。但事实证明:我当时大意了!程序员单干可没那么简单!为啥?我一一道来。1、先说技术技术可以说是程序员最擅长的点了...

  • GPT-4发布!ChatGPT大升级!太太太太强了!

    2024-07-18

    你好呀,我是了不起,一个90后的老程序员啦~平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~GPT-4 全新发布。从去年底 GPT 第一次火起来开始,到现在仅仅过去了3、4个月的时间,GPT 已经经过了多次的迭代更新。就在前两天, GPT 又往前迈了一大步,做出了重大更新。最近更新在 GPT-4 版本中,加入了图片识别功能。根据发布现场的功能演示来看,GPT 已经初步具备了编程功能。生成代码通过识别手绘的草图,在极短的时间内就完成了 HTML 页面代码的编写,这是一个非常大的进步。HTML 页面已经写出来...

  • 清华硕士怒喷月薪2万是“恶意低薪”,先别急着开骂

    2024-07-18

    你好呀,我是了不起,一个90后的老程序员啦~平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~近期,有一篇题为“清华硕士怒喷月薪2万是‘恶意低薪’“的新闻,在网络上广泛传播。真是伤害了多少工资不到2万的同胞们的心呀,至少我看完就羡慕了,真想大声喊一句,放下这个工作,让我来...又能去大厂,薪资也不算低,是多少人求都求不来的事情...据不完全统计,好像平均薪酬过万的城市也没多少个,并且又有多少个是被平均高上去的呢~所以,看完这个新闻,网友们不淡定了,各种评论都有~从学子个人角...

  • 离职两年的程序员,被前东家索赔:Bug是你写的...

    2024-07-18

    你好呀,我是了不起,一个90后的老程序员啦~平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~推荐阅读:“我从前公司离职两年了,没想到前公司把我告上了法庭,需要我赔偿几十万。”“起诉理由是:Bug是我写的。”以上是杭州一位程序媛的遭遇,估计人已经哭晕在厕所。事情是这样的没有看过的小伙伴,下面贴了一张爆料贴。起诉理由,相当之离谱,就连接外包,大不了也就签订半年左右的维护期吧。该程序媛作为代码撰写人具有有效期,但在最终的代码处理上未做逻辑处理规避风险。根据行业经验及常理...

  • 服了!最离谱的广告被发明了...

    2024-07-18

    你好呀,我是了不起,一个90后的老程序员啦~平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~推荐阅读:最近视频平台爱奇艺频上热搜,大部分时间都是被喷上去的。前两天的这一次,是因为他们申请了一个专利。弹幕广告他们最新的一个专利是:在弹幕中添加广告。原话是这样的本申请实施例涉及数据处理技术领域,具体涉及一种视频弹幕广告投放方法、装置、设备及存储介质,旨在实现广告内容的弹幕化展示。专利类型显示是 发明专利。说回专利本身,专利的主要作用是:保护自己的技术成果不被他人侵犯...

  • 这些女网红,越来越假,还非常吓人...

    2024-07-18

    你好呀,我是了不起,一个90后的老程序员啦~平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~推荐阅读:在一两个月之前,AI 绘画比较火的时候,我去尝试了一下相关的产品。没读过的小伙伴可以看这里:基本就是设置几个简单的参数,给一些限定词,再给一张参考图。AI 自己就能完成绘图,耗时非常短。当时感觉很新鲜,但是对于我来讲,并没有太多的应用场景,权当是一个新玩具,体验了一下。没想到,仅仅隔了几个月,AI 绘画就有了更大的进步。真人这一次进化之后,AI 直接能画出真人了,不再是动画...

  • 10行代码,助你整理杂乱无章的文件

    2024-07-18

    文 | 周萝卜来源:Python 技术「ID: pythonall」酱子们大家好,今天继续分享 Python 小工具今天的小程序,可以一键完成文件整理,一起来看看吧!按照文件格式整理具体来说就是不同的文件后缀名称放置到不同的文件夹当中今天我们只需要使用 os 和 shutil 两个库就足够了。os 是 Python 内置模块,用于操作系统的相关功能,shutil 是用来进行文件移动等操作的。首先我们先来看几个获取文件后缀的方法获取文件后缀方法1:直接通过 os 库实现filename = os.path.splitext('1.jpg')Output:('1', '.jpg')得到一个包含文件名和后缀名的元组,此时再想获...

  • 关于海明码,我悟了

    2024-07-18

    目录:话在前面差错控制编码差错控制编码的分类检错码纠错码奇偶校验码海明码校验位的位置码字格式校验位的确定校验位的校验规则(重点)海明编码示例检错和纠错什么是码距海明码的码距海明码的检错与纠错能力海明码的检错与纠错能力理解总结考题最后参考链接话在前面最近又过了一遍海明码,就想着给大家分享分享。在写作的过程中,同时又解决了很多疑惑。真应了教学相长这句话。文章内容较多,建议先收藏,空闲时在观看。差错控制编码在数据通讯方面,要求信息传输具有高度的可靠性,即要求误码率足够低。然而实际会有各种干扰对信号造成不良的影响,...

  • 谷歌编码规范的前置声明

    2024-07-18

    定义A "forward declaration" is a declaration of an entity without an associated definition.“前向声明”是没有关联定义的实体声明。前置声明的作用避免重复定义变量避免引入函数定义/声明文件,从而函数文件发生更改时不会重新编译依赖文件解决循环依赖问题优点节约编译时间,前置声明了一个类,那么只会编译这个类,而不会编译与之同属一个文件的其它代码。处理两个类互相依赖的问题,两个类互相包含// A.h#include "B.h"class A { B b; };// B.h#include "A.h"class B { A a; };缺点前置声明隐藏了依赖关系,头文件改动时,用...

  • C语言实现高斯消元解线性方程组

    2024-07-18

    目录前述高斯消元示例C代码最后前述在上初中的时候,我们学习了方程组,那个时候只知道消元依次求解。在大学的时候,我们学习了线性代数,我们可以经过初等变换一次性求出所有解。这篇文章主要是用C语言实现高斯列主元消去法求解多元一次方程。高斯列主元消去法由于涉及到的数学公式太麻烦了,所以从网上找了一张图片,介绍高斯消去法的,如下图:Gauss列主元素法示例假如现在有一个三元一次方程组,如下图:三元一次方程组求解多元一次方程组可以分成三个步骤:首先根据方程组构建增广矩阵其次对增广矩阵经过行列式的初等变化变成上三角矩阵最后从后...

  • 为什么C语言执行效率高,运行快?

    2024-07-18

    目录简述C语言由来BCPL语言及代码B语言以及代码C语言编程语言机器语言汇编语言高级语言C为何快速简述都说C语言编写的程序执行效率比较高,那么到底高在哪里,我们一块来学习学习。C语言由来C语言源自于BCPL、B两种语言。BCPL语言以及代码1967年,剑桥大学的马丁·理察德(Martin Richards)以CPL编程语言为基础,发明了BCPL(Basic Combined Pogramming Language)编程语言。我们在看一个用BCPL语言编写的计算阶乘的功能,代码如下:GET "libhdr"LET start() = VALOF{ FOR i = 1 TO 5 DO writef("fact(%n) = %i4*n", i, fact(i))  RE...

  • 二维数组与二级指针是好兄弟吗?

    2024-07-18

    抛出问题最近碰到一个问题点,这里跟大家分享一下。有一个二维数组,我想把它传给一个函数。于是我把函数接口定义出来了,如下:int array[2][3] = {1,2,3,4,5,6};void fun(int **array) {  array[0][0] = 5;}当我试图直接把数组名传给函数时候,fun(array)编译会报错,大概意思就是类型不匹配。既然类型不匹配,那我就直接强转成你所需要的类型,于是我又做了调整,fun((int **)array),这下确实不报错了。但是此时我还没意识到问题的严重性。不出意外的情况下意外还是发生了,只要进入到这个函数后,程序就挂了。那你知道是什么原因吗?...

  • Python中字符串格式化三种方法

    2024-07-18

    前述在嵌入式编程过程中,我们可以使用Python辅助我们编程,特别是验证一些算法上特别好使。所以Python中的基本知识需要了解一些,剩下的就可以交给百度,Ctrl+C,Ctrl+V,不然网上复制代码都复制不明白。接下来我们一块学习下Python字符串格式化的三种方式。字符串格式化的几种方式第一种:%s% 运算符(求余符)也可用于字符串格式化。给定 'string' % values,则 string 中的 % 实例会以零个或多个 values 元素替换。如果是多个值,请用()括起来。print('%s,%s %s' % ("Hi,", "Hello", "World"))Terminal:Hi,,Hello World第二种:format字符...

  • 工作这么久,才明白的SOLID设计原则

    2024-07-18

    前序做C语言开发的应该都知道,C是面向过程开发的,而c++是面向对象开发的。而封装、继承与多态是面向对象开发的三大特征。但你可能不知道OOD(Object-Oriented Design)还有五大基本原则,被Bob大叔称为SOLID原则,字母为每个原则的首字母,遵循这些原则能够让你的代码在扩展性、维护性以及重用性提高。而这些不正是我们所追求的吗?接下来我们就一块学习学习这些原则,内容较多,建议先收藏后反复观看,文章末尾有很多参考链接。五大基本原则-SOLID1. SRPSRP(The Single Responsibility Principle)单一职责原则。SRP是SOLID五大设计原则中最容易被误...

  • C语言结构体(struct)用法详解

    2024-07-18

    粉丝问答有个粉丝在群里问了这样一个问题,问题在图中已经标出,如下图。DQuestsion头文件的结构体的定义为:typedef struct{ u8  bmRequestType;  u8  bRequest;  u16 wValue;  u16 wIndex;  u16 wLength; }USB_Request_Header_t;虽然粉丝最后都理解了,但是仍想趁着这个机会整理一下结构体的用法,希望能够对刚入行的童鞋们有所帮助。结构体在实际的开发过程中,一组数据往往具有不同的数据类型,此时数组是不能够满足需求了。因为数组中各元素的类型必须是一致的。为了解决这个需求,C中给出了另一种数据类型-结构体,每一个成...

  • Python实现最小二乘法

    2024-07-18

    最小二乘法相关知识,我把他分解成了四篇文章,第一篇是推导过程,第二篇是系数求解,第三篇是C语言实现二乘法(二次曲线)。有兴趣可以看文章底部,往期推荐。这篇文章是第四篇,主要是用Python验证C语言实现二乘法的正确性,因为网络上的文章错综复杂,复制粘贴有风险,需要保证功能的正确性。相关代码如下:# -*- coding: utf-8 -*-import numpy as np#import randomimport matplotlib.pyplot as pltfrom scipy.optimize import curve_fit #自定义函数def func(x, a, b, c):    return a + b*x + c*pow(x, 2) #定义x、y散点坐标x = np.array([0...

  • C语言实现最小二乘法

    2024-07-18

    在此之前我们再回顾下上一篇文章中的系数求解公式。二次拟合曲线的方程为:系数行列式为:另外:所求系数为:使用C实现最小二乘法为:#include<stdio.h>#include <math.h>#include<stdbool.h>#define DATA_NUM (6)#define DOUBLE_PRECISION (1e-15)double x[DATA_NUM]={0,2,4,6,8,10};double y[DATA_NUM]={0,6,25,42,70,110};//y = a*x^2 + b*x + cbool LeastSquares(double *x, double *y, unsigned int data_num, double *a, double *b, double *c) { double sumx=0,sumx2=0,sumx3=0,sumx4=0,sumy=0,sumxy=0,sumx2y=0; double D=0; if(!data...

  • 最小二乘法系数求解

    2024-07-18

    最小二乘法拟合成曲线的问题,最终是求解多项式的系数问题。这篇文章主要讲解如何求解拟合曲线的系数。上一篇文章说了最小二乘法的推导过程,有兴趣可以了解一下 ,链接在文章末尾的往期推荐:最小二乘法推导过程。上一篇文章中有一个表达式,一会要用到,该表达式如下所示:求解系数用到了克莱姆法则,我们先了解一下。若线性方程的系数矩阵可逆(非奇异),即系数行列式 D≠0,则线性方程组有唯一解,其解为其中Dj是把D中第j列元素对应地换成常数项而其余各列保持不变所得到的行列式。假如现在我们要求二次函数的曲线则上面提及的推导过程就变成了...

  • 最小二乘法曲线拟合推导过程

    2024-07-18

    假设现在有n对坐标系中的点现在要做k阶多项式拟合,多项式函数如下将已知的观测点数据代入上述公式得到如下n组等式:......最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小,如下所示:代入公式可以得到可以通过上述公式对求偏导后,令其为0来求解所有a的值,得到下面的式子......将上述方程整理归纳得......将上述方程用矩阵表述将上述方程分解,令,那么上面的矩阵计算可以简化为,所以得到网...

  • 如何有效取余,非%不可吗?

    2024-07-18

    在编写程序过程中,通常会对对某些数据进行取余操作,这个时候我们通常都会用到%运算符,但是除了%就不能用其它方法吗?答案是有的,而且执行效率也比使用%高,但是使用起来会有一些条件限制。接下来我们就以6对4取余来分析,测试环境为Keil和STM32。下图为使用%求余过程由此可见,除了第一次将初值6赋值为r1寄存器,在对4求余的过程中,使用了MOV、ADD、SUB以及ASR共5次汇编指令。下面也给出了每个汇编指令的表达式,最右侧有注释,有兴趣的可以看下 4: int a=6; 0x08000F40 2106 MOVS r1,#0x06 //r1=6; 5: return a%...

  • ARM汇编STM&LDM知多少?

    2024-07-18

    0前述在日常编写Bug的时候,不知是否经过这样一种情况,我明明只是在函数中多加了一个临时变量,结果程序执行就异常了。我屮艸芔茻...我碰到的一次情况是该函数程序访问数组本来就越界了,但是还能正常工作,就因为加了一个临时变量,栈内容发生了变化,就因为一个变量的偏移,在对数组操作时刚好设置给了LR寄存器,导致子程序返回有误,程序执行逻辑异常。上述的这种问题,常规调试是无法发现的,甚至问题出现在那个地方都定位不到。都说汇编代码时程序员的最后一根救命稻草。接下来就来介绍一下汇编中最常用的STM/LDM指令。LDM翻译为Load Multiple...

  • µC/OS三种临界区管理机制

    2024-07-18

    01临界段与临界资源操作系统中有有两个名词,临界段和临界资源。01临界段代码的临界段也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。02临界资源临界资源在一段时间内只允许一个进程访问的资源。又称独占资源。资源可以是输入输出设备,例如打印机、键盘、显示器,资源也可以是一个变量,一个结构或一个数组等。02三种临界区管理机制2.1示例代码在µC/OS-II中有三种临界区管理方式,是在oc_cpu.h文件中通过宏OS_CRI...

  • 手持两把锟斤拷,笑看万物锘锘锘

    2024-07-18

    上一篇文章说的是“烫烫烫”与“屯屯屯”的梗,主要是堆和栈中的数据未初始化,导致显示的时候就会出现“烫烫烫”和“屯屯屯”的问题。不知道的小伙伴可以点击下方链接查看。再说锟斤拷与锘之前,还是先回顾那首打油诗手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘。Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求,是一种字符编码。假如有一个字符,Unicode解析不了,Unicode官方用了一个占位符来表示这个字符,这就是:U+FFF...

  • Kill 一笑,生死难料

    2024-07-18

    我是一个进程,一出生就被塞了一张长长的任务单,上面是密密麻麻的任务指令,像什么 mv 了, cp 了, while 了.....   我一个都看不懂。人类程序员告诉我这叫 shell 脚本,我的任务就是跑跑腿,到 shell 大街上找到能够执行这些指令的人,让他们去执行。这个活儿听起来并不复杂,我按照人类的指示,进入了 shell 大街。初试身手shell 大街上热闹非凡,各种进程来来往往,两旁的街道是大大小小、形形色色的门店,我左看右看,眼睛都不够使了。比如我旁边这家店,招牌巨大,上面写着 【我们不生产文件,我们只是文件系统的搬运工】,这是 “mv” 旗舰...

  • 记一次 nor flash 读速度优化

    2024-07-18

    背景 某个项目使用的介质是 spinor, 其 bootloader 需要从 flash 中加载 os。启动速度是一个关键指标,需要深入优化。其他部分的优化暂且略过,此篇主要记录对 nor 读速度的优化过程。了解现状 接到启动速度优化的任务之后, 首先是了解情况。当前的 bootloader 实测读速度只有约 4M/s。为了加快速度已经尝试过spinor 驱动改为使用四线读命令读取数据。速度并没有明显改善。待确认改动是否生效。spinor 驱动改为使用 dma 搬运数据。尚未修改成功。计算上限 既然是要深入优化,那知道终点在哪还是很有必要的。整个读取过程,数据主要是从 spinor 到达 ...