自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sky_share的博客

移动设备开发方向

  • 博客(97)
  • 资源 (4)
  • 收藏
  • 关注

原创 被安排了一个任务,执行过程中要注意什么?

一朝领命去,几年百折不挠,和组织失去联系也要把事儿办成的故事虽然很励志,但并不是真相。涉及与他人、其他部门、外部合作者协作的节点往往是最容易出问题的。7 对人好一点,无论事情有多重要有多着急,都要做个有人情味儿的人。2 不要怕被人讥笑“刷存在感”,做事的人就是要为自己做的事争取存在感。经常与部署任务给你的上级谈论你在做的事情、你遇到的问题。3 任何一个任务都可以拆分为若干个子任务,选择从哪个子任务开始做时,考虑你最有天赋、资源最多和最想花时间的。

2024-05-06 20:53:56 156

原创 如何养成良好的工作习惯

7 最可怕的不是接到不合理的工作任务,而是各个环节的同事都还说不清楚任务是什么,它就已经到你收上了。你可以做那个明白人:到业务场景里看看同事们到底要解决什么问题,问题是典型的还是非典型的是长期的还是暂时的,然后试着提出你的解决方案。6 “训练”你的上级,让他养成给你好好布置工作的习惯,确保你在干活之前充分理解这项工作要解决什么问题,以及交付标准是什么样的。4 把工作重心放在解决问题的方法上,研究自己的工作方法,关注自己工作方法的迭代,以及工作方法能不能为自己和他人提效。1 找到工作的意义。

2024-05-01 17:19:39 33

原创 AES加密算法

AES (Advanced Encryption Standard) 是一种对称加密算法,是目前广泛使用的加密算法之一。它能够在保护数据安全的同时,提供高效的加密和解密功能。AES 使用相同的密钥进行加密和解密,因此被称为对称加密算法。它采用了替代性加密,即将明文数据分成固定长度的数据块,然后对每个数据块执行一系列的加密操作。AES 使用不同长度的密钥,分别为 128 位、192 位和 256 位。AES 算法通过多轮的加密和解密操作来提高安全性,其中轮数取决于密钥长度。

2024-04-03 16:49:04 758

原创 Epoll 与 Select

因为他们在read调用时,内核将数据从内核空间拷贝至应用程序空间(epoll应该是从mmap),过程都是需要等待的,也就是说这个过程是同步的,如果内核实现的拷贝效率不高,read调用就会在这个同步过程中等待比较长的时间。此可见,水平触发时如果系统中有大量你不需要读写的就绪文件描述符,而它们每次都会返回,这样会大大降低处理程序检索自己关心的就绪文件描述符的效率,而边缘触发,则不会充斥大量你不关心的就绪文件描述符,从而性能差异,高下立见。select/poll/epoll 本身是同步的,可以阻塞与可以不阻塞。

2023-10-05 17:34:49 144

转载 Linux Strace命令

当发现进程或服务异常时,我们可以通过 strace 来跟踪其系统调用,“看看它在干啥”,进而找到异常的原因。熟悉常用系统调用,能够更好地理解和使用strace。当然,万能的 strace 也不是真正的万能。当目标进程卡死在用户态时,strace 就没有输出了。这个时候我们需要其他的跟踪手段,比如 gdb / perf / SystemTap 等。备注:1、perf 原因 kernel 支持2、ftrace kernel 支持可编程3、systemtap 功能强大,RedHat。

2023-10-05 15:00:37 360

原创 emWin - BMP图片显示

e. 在弹出来的窗口中,选择保存的格式。如果bmp图片呢是任务加风景的复杂图片的话,压缩的效率其实并不高。如果一行里面有很多像素是一样的话,而这样的行有很多的话,那么压缩的比例就会很高。使用BmpCvt.exe工具,将各个图片转成相应的C文件. emWin有关的工具,都在Simplicity Studio工具目录下的reptile\emwin\exe文件夹下面。f. 压缩的目的是用时间换空间,因此压缩过的bmp在刷屏的时候,由于处理方式不一样,因此显示的效率比较低,看起来刷的比较慢。

2023-08-01 21:44:50 670

原创 gitlib创建项目及分支

gitlib创建项目及分支

2023-07-02 14:48:16 172

原创 集成铁电存储器MCU之物联网应用

集成铁电存储器MCU之物联网应用

2023-06-28 10:39:57 574

原创 Can Id 中的J1939-PGN相关

Can Id ---- PGN

2023-06-05 20:15:02 1213

原创 嵌入式之状态机编程

有5个要素,分别是状态(state)、迁移(transition)、事件(event)、动作(action)、条件(guard)。

2023-04-06 19:38:59 482 1

原创 Shell - declare命令

shell

2023-03-31 22:18:37 143

原创 嵌入式编程-库思想

嵌入式开发库思想

2023-03-21 18:59:59 104

原创 函数指针->回调函数

函数指针->回调函数

2023-03-19 17:23:23 524

原创 Makefile文件各个赋值语句

在Makefile文件中,赋值语句包括: "=", ":=", "?="等

2022-09-29 17:22:20 540

原创 ls -l|grep ^-|wc -l 统计文件个数命令

ls -l|grep ^-|wc -l 统计文件个数命令

2022-09-29 16:15:35 2590

原创 #ifdef __cplusplus 的作用

"__cplusplus"是一个宏定义

2022-09-29 14:56:23 1331 2

原创 虚拟机Ubuntu显示时间不正确问题

虚拟机时间不对,一般有两种可能:1) 系统设置的时区不对;2) 时区正确,但系统本身的时间不对;

2022-09-13 21:35:00 3014

原创 Linux 时区与时间time

time.h相关函数介绍

2022-06-26 21:44:08 1037

原创 Linux time.h头文件详解

与时间相关的头文件:time.h sys/time.h sys/times.h sys/timeb.h sys/timex.h

2022-06-26 16:08:36 4598 1

原创 Linux 取目录文件信息及其下的子目录、文件等信息

在Linux下得到某目录下文件和文件夹信息,可以采用如下系列函数:DIR系列库函数

2022-06-19 16:53:44 1699

原创 Linux ar命令(更改静态库相关属性信息)

库:为减少编程时程序代码的开发量,一般会按照软件重用思想将经常使用的功能模块封装成库,而对库文件进行操作一般会使用Linux中的ar命令。

2022-06-19 15:06:15 1585

原创 shell 中各种括号的作用()、(())、[]、[[]]、{}

shell 中各种括号的作用()、(())、[]、[[]]、{}

2022-06-18 15:47:35 252

原创 Linux 不常用命令

stat filename:获取文件的属性expr:四则运算与字符串运算od:命令用于输出文件的八进制、十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符

2022-06-07 22:16:38 197

原创 Shell脚本

一个脚本文件调用另一个脚本文件的三种方式l:① fork;② exec;③ source;/home/sh1.sh;/home/test/shell1.sh; /home/test/shell2.sh;用法举例:① fork:sh1.sh 脚本调用shell1.sh 脚本:在sh1.sh脚本文件中增加一行:/home/test/shell1.sh(shell1.sh脚本有可执行权限);sh /home/test/shell1.sh(shell1.sh脚本没有可执行权限)shell1.sh脚本调用shell2

2022-06-02 21:39:58 1967

原创 计算机常用编码

ASCII码:共 128个字符;只占用了一个byte的7个bit位,高位的1位统一规定为0;unicode:该编码将世界上所有的符号都纳入其中,每一个符号都给予一个独一无二的编码,即:一种所有符号的编码;缺点:unicode只是一个符号集,只是一个规范、标准,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储在计算机上。unicode编码存储汉字时需要2字节或者更多字节,ASCII只需要1字节,那么怎么进行区分是ASCII还是unicode呢?这也是该编码一直无法推广的原因。直到互联网

2022-05-01 20:53:51 3429

原创 标准ASCII

ASCII 是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语,而其扩展版本延伸美国标准信息交换码则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。ASCII 是编码系统的传统名称;互联网号码分配机构(IANA)更倾向于更新后的名称US-ASCII,这说明了该系统是在美国开发的,并基于主要在美国使用的印刷符号。ASCII是美国电气和电子工程师协会里程碑之一。ASCII是由电报代码发展而来的。它的第一个商业用途是作为贝尔数据服务公司推广的七位电传打字机代码。ASCII标..

2022-05-01 17:07:57 4370

原创 嵌入式中常用数据类型

typedef signed char int8_t;typedef signed short int16_t;typedef signed long int32_t;typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned long uint32_t;typedef int8_t s8;typedef int16_t s16;typedef int32_t s32;ty...

2022-04-29 21:33:11 538

原创 Vistual Studio创建工程:

创建Win32控制台工程:创建Linux下工程:接下来一直 -> next;直到点击finish;

2022-03-27 17:39:03 430

原创 memset与memcpy函数总结

memset函数详细说明;void *memset(void*str, int c, size_t n);该函数功能:将str 指向的某一块内存中的每个字节的内容全部设置为c 指定的ASCII值,块的大小由第三个参数n 指定,该函数通常为新申请的内存做初始化工作。该函数作用:为已开辟内存空间str 的前n 个字节的值设为值c (给申请的空间初始化)。该函数包含在string.h头文件(C language),cstring或string.h(C++ language).memset函数实例.

2021-10-04 17:08:35 543

原创 回调函数讲解

回调函数:或简称回调(Callback 即 call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其他代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。(回调函数是一个通过函数指针调用的函数,把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,这即为回调函数。)把一段可执行的代码像参数一样传递给其他代码,而这段代码会在某个时刻被调用执行,这称为回调。如果代码立即被执行就称为同步回调;如果在之后晚点的某个时间再执行

2021-09-21 19:45:47 3420

原创 结构体(struct)继承——[C++语言中]

在C++语言中,struct对C语言中的strcut进行了扩充,已经不仅仅是一个包含不同数据类型的数据结构体了,在C++语言中,strcut可以包含成员函数,可以实现继承,可以实现多态。在C++语言中,结构体struct与类class的最本质区别即为:默认方式控制,结构体struct默认是公有的,而类class默认是私有的。实例代码:struct TStructA{};struct TStructB : TStructA{};在该示例中,TStructB是public继承

2021-09-04 20:18:35 8851

原创 C++ 类

C++在C语言的基础上增加了面向对象编程,C++支持面向对象程序设计。类定义是以关键字class开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。公有成员可以使用直接成员访问运算符(.)来直接访问,而受保护的成员与私有的成员不能用直接成员访问运算符访问。基类与派生类:一个类可以派生自多个类,它可以从多个基类继承数据和函数。派生类可以访问基类中所有的非私有成员。因此基类成员如果不想被派生类的成员函数访问,则应在基类中声明为private。访问

2021-08-15 19:56:40 298

原创 名空间(namespace)

在C++编程中,变量和函数等的作用范围是有限制的,在函数内定义的变量就不可以在函数外使用。引入名空间(namespace)可解决变量和函数的作用范围。在一个名空间中可以定义一组变量和函数,这些变量和函数的作用范围是一样的,可以将这些变量和函数称为这个名空间的成员。通过名空间,可以在一个文件中使用相同的变量名或函数名,前提条件是它们属于不同的名空间。名空间可以使得代码操作具有相同名字但属于不同库的变量,而且,名空间也可以提高C语言与C++语言的兼容性。using :using的使用提高了程序的

2021-07-18 18:03:51 334

原创 C、C++结构体与类

在C++语言中,除了类中可以使用构造函数、析构函数以外,结构体中同样可以使用。这两者的区别是:类中成员变量默认为私有成员,结构体的成员变量默认为公有。C++结构体中可以有构造函数与析构函数的,但是C语言中的结构体是不允许有的。C语言是面向过程的,则C语言的结构体不存在面向对象的任何特点:不能继承、封装、多态;不存在访问控制,只存在作用域。C语言的结构体只能定义数据,而不能定义方法,但可以定义函数指针。C语言中的结构体不能为空,否则会报错。结构体关键字struct不能省略。Struct与Cla

2021-07-04 15:47:10 323

原创 编写程序重复定义Bug(multiple definition of)解析

如果两个函数、方法重复定义就会报“multiple definition of”错误;如果非要定义两个函数同名,则可以在函数前加static,便可以将两个同名函数编译过。1、给每一个头文件加条件编译在编写“.h”头文件时加上条件编译:当多个文件包含同一个头文件时,而头文件没有加上条件编译,编译执行时就会独立的解释,于是就有了重复定义的错误;而如果加上条件编译可避免该文件被多次引用时被多次解释。#ifndef TEST_H_#define TEST_H_……#endif2、使用..

2021-04-14 19:05:09 3641

转载 SPI I2C UART(即串口)

SPI(串行外设接口):是Motorola公司提出的一种同步串行数据传输标准。I2C(IC之间总线):是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。UART(通用异步收发器):是电脑硬件的一部分,他把将要传输的资料在串行通信与并行通信之间加以转换,UART通常被集成与其他通信接口的连接上。UART即我们通常说的“串口”。...

2021-03-28 11:23:23 1477

原创 Linux系统开机启动流程

Linux系统开机启动的流程:① 开机自动检查,加载BIOS;② 读取MBR;③ Boot Loader Grub引导系统;④ 加载Kernel 内核;⑤ init进程根据inittab文件夹来设定运行级别;⑥ init进程执行rc.sysinit;⑦ 启动内核模块;⑧ 执行不同运行级别的脚本程序;⑨ 执行 /etc/rc.d/rc.local;⑩ 执行 /bin/login程序,启动mingetty,进入登录状态。Linux系统开机启动流程图:① :开.

2021-03-26 16:44:25 1060

翻译 蜂窝移动通信技术

随着移动通信技术的发展,无线蜂窝网的覆盖面越来越广,移动通信发起的紧急呼叫数量在全部紧急呼叫中所占的比例也随之上升。现有的蜂窝网络能为移动通信紧急呼叫提供的辅助信息非常的少,根据调查表明,约有25%的移动用户在发起紧急呼叫时不知道所处的确切位置,这对及时合理的出警带来了很多的限制。因此,移动通信网能为发起紧急呼叫的移动用户提供准确的定位信息。蜂窝移动通信已成为市级范围内的一项非凡成功的作品,其发展速度非常迅速,以致业务需求远远超过了原先的预测。大多数情况下,经营者只限定在一个固定频段上,几乎无望增加频谱

2021-03-13 17:51:28 2924

原创 在C语言中,“>>=”;“<<=”;“&=”;“|=”分别代表什么

① C语言中,>>=的意思是:右移后赋值;示例:x=8;//1000x >>=3;结果为:0001② C语言中,<<=的意思是:左移后赋值;示例:x=1;//0001x<<=3;结果为:1000③ C语言中,&=的意思是:按位与后赋值;示例:x=0x03;//0011x&=0x01;//0001结果为:0001④ C语言中,|=的意思是:按位异或后赋值;示例:x=0x02;//0010x|

2021-03-04 21:19:34 17772 1

原创 GPIO的两种引脚规则:BCM与BOARD

树莓派(raspberry)针脚在python中BCM与BOARD模式的区别:在python程序中定义的GPI针脚有两种模式:① BCM模式;② BOARD模式。① BCM模式:例如:GPIO.setmode(GPIO.BCM)测试结果如下:物理针脚11脚对应GPIO17脚;物理针脚12脚对应GPIO18脚。测试命令如下:#sudo ipython import RPi.GPIO as GPIOGPIO.setmode(GPIO.BCM)GPIO.setup(17,GPIO.OUT)GP

2021-03-03 16:10:18 8748 1

安装交叉编译器-驱动-移植测试代码实验步骤.zip

交叉编译器对于嵌入式学习者无疑是学习环境的前提,想要系统学习嵌入式必须安装交叉编译器。交叉编译器与其他的Gcc编译器不同,交叉指的是PC机的环境可以编译出ARM(即别的环境)下可以运行的代码。

2020-04-28

Arduino硬件编程语言基础.xmind

Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让我们不了解AVR单片机(微控制器)的朋友也能轻松上手。

2020-04-28

智能硬件Arduino编程功能入门.docx

Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让我们不了解AVR单片机(微控制器)的朋友也能轻松上手。

2020-04-28

Qt 教程.zip

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。

2019-10-09

空空如也

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

TA关注的人

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