自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DataH

快乐分享.

  • 博客(97)
  • 收藏
  • 关注

原创 RV1109 SPI调试

RV1109 SPI调试1.设备树&spi0 {    /delete-property/ pinctrl-1;    max-freq = <50000000>;    pinctrl-0 = <&spi0m1_clk &spi0m1_cs0n &s

2021-12-29 09:29:20 1714

原创 Vue与MVVM

Vue与MVVM1.MVVMMVVM 由 Model,View,ViewModel 三部分构成,Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的,因此View 数据的变化会同步到Model中,而Model 数...

2019-06-02 17:35:56 923

原创 LittlevGL中使用FreeType问题

LittlevGL中使用FreeType问题问题一:噪点直接使用FreeType返回的位图,当lvgl调用的时候回产生如下情况,字体下面会有很多的噪点:原因:因为FreeType返回的字体位图高度不一致,而lvgl处理的时候是按照一定的字体高度进行处理,所以造成混乱,输入很多的噪点。解决方法:对位图进行处理,高度不够的字体进行0填充,使它的高度与lvgl定义的高度一致,然后使用这个位图。...

2019-05-31 15:49:23 2801 1

原创 LVGL分析-画面刷新

LVGL分析1 littlevgl线程littlevgl有几个线程,作用是什么?三个,主线程一个,和在主线程的hal_init函数中创建的另两个sdl线程。主线程完成一系列初始化工作后,循环每10ms调用在lv_init函数中注册的三个任务,indev_proc_task,lv_refr_task,anim_task,重点关注的是每50ms处理一次的输入处理indev_proc_task和...

2019-05-31 15:39:16 21943

转载 计算机网络--物理层

计算机网络 -物理层作者:danneel_zhu原文:https://blog.csdn.net/danneel/article/details/71076563速率:传送数据的速率。数据率或比特率带宽:信号具有的频带宽度或者是单位时间内点到点所能通过的“最高数据率”(简单理解为速率)。吞吐量:单位时间内通过某个网络的数据量。时延: 发送时延:从第一个比特到最后一个比特发送完毕所...

2019-04-05 13:09:18 719

原创 线性链表与链式链表

线性链表与链式链表在做项目的时候,需要保存多个对象,为了方便查询,我刚开始使用了线性链表的方式,把同一个对象都保存到一个线性链表中,但是由于stm32的内存很小,每个对象类型都定义一个线性链表,后面内存都爆满了,检测了一下,原理是因为定义了很多的全局变量的线性链表,线性链表的一般结构如下,typedef struct //定义顺序表结构{ DATA Li...

2019-03-31 14:37:02 526

转载 ROM 、RAM和FLASH 的区别

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM 有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在...

2019-03-27 23:08:17 18487

原创 产品设计的感想

产品设计的感想最近在开发产品的过程中发现,想要设计一款好的产品真的不容易,不仅仅是把功能做出来就行了,应该考虑更多的问题.有时候自己设计出来的东西,自己试用了一下,发现很麻烦,很难用.反过来想,如果设计这样的产品,连自己自己设计的都觉得难用,那么想要推向市场就很难了.所以在设计产品的时候我的感觉是,把复杂的留给自己,把简单的留给客户.并把频度高的功能设计好,在设计每个功能的时候,应该从用户的...

2019-03-24 16:43:22 2880

原创 C语言遇到的坑

C语言遇到的坑最近在使用C语言编程的过程中遇到了之前很少遇到的问题, 主要还是对指针和内存分配释放的情况.常常遇到的问题是,内存释放指针找不到,解决的方法是使用动态方式创建指针变量,或者使用静态的方式定义变量,这样就可以解决指针找不到的问题.要清楚的理解这个,需要先了解C语言内存分配和释放的周期,这里就不说明了.还有一个是同一个结构体变量在一个h文件中已经定义,在别的地方可以引用,在另一个地...

2019-03-24 14:58:07 300

转载 restfull 规范

Django restfull 规范1 什么是RESTfulREST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态REST与技术无关,代...

2019-03-18 21:36:31 1060

转载 说说TCP,UDP和socket,Http之间联系和区别

转发:说说TCP,UDP和socket,Http之间联系和区别TCP协议 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet...

2019-03-16 00:50:44 804

原创 msOS入门学习总结

msOS入门学习总结本篇文章主要总结这个月以来学习msOS的学习经历。首先,我先对我这个月学习msOS的总结过了一遍,主要是以下几篇博客。本来这几篇博客的名字不是叫:msOS学习之路。但是我又想了想,这毕竟是我从很基础的入手,到更深度理解msOS的过程,本来想把它做成一个教程的,但发现如果说成教程的话,感觉又不太系统,所以我就把它命名为msOS学习之路。为了保持最初的理解和想象,我也没有对博客进...

2019-03-10 14:56:49 1584

原创 msOS学习之路(4)

设备层简单理解1 设备层相关定义设备层的相关定义是在device.h文件中定义的,包括按键、模拟量输入、数字量输入/输出枚举或者类型定义等,对于一些结构体的理解,例如:ADC结构体,定义了ADC的使用到的一些成员变量。typedef struct { ushort A0; ushort A1; ushort A2; ushort A3; ushort...

2019-03-10 14:54:58 660

原创 msOS学习之路(3)

基于msOS PID温度控制1 简介该实例是基于msOS平台,使用PID算法对温度进行控制。对于PID温度的控制,其实就是设定一个目标温度,通过PID算法让温度保持在目标温度左右,尽量的靠近目标温度。2 硬件平台msOS开发板100欧电阻LM35DT温度传感器3 PID简介对于PID的了解是在大学的时候开始的,主要是知道在工业控制方面用到很多,但不知道具体用在哪里,但一直觉得P...

2019-03-10 14:51:40 432

原创 msOS学习之路(2)

msOS学习之路(2)1 简介1.1 背景基于msOS自动回火机的实现的实例是学习msOS比较好的入门实例,它包括msOS界面的设计、数据库的使用、系统节拍的使用、按键的使用、系统节拍使用等,通过这个例子可以很好的对msOS的使用有个大概的了解。1.2 自动会火机简介自动回火机是一个基于msOS系统开发的温度计时控制系统,可应用于焊接、回炉加热设备的控制,从A0口读取模拟量转为温度值并能...

2019-03-10 14:40:59 641

原创 msOS学习之路(1)

msOS学习之路(1)1 msOS的初步认识刚刚拿到msOS开发板的时候,看了一下开发板,感觉非常高端,再看一下芯片,用的是stm32。当时我就觉得我得先学习stm32了,但是经过同事的介绍,发现需要使用msOS根本不需要专门的去学习stm32。经过这两天的学习,我也发现msOS真的很容易上手,我目前的认识是,对于使用msOS不需要去系统的学习stm32,对于底层的驱动msOS已经封装好了,我...

2019-03-10 14:35:53 1605 3

原创 RS458和modbus通讯协议

458和modbus协议分为硬件层协议和软件层协议.硬件层协议解决的是数的传递问题.例如rs232,rs485,can,I2C等.软件协议解决传输的目的,例如modbus,TCP/IP等.1 485通讯458通讯是在硬件层实现的通讯协议,可以使用仪表进行测量,它需要解决的是0和1传输的问题.例如MCU输出的是TTL电平(0v,5v),假设MCU使用一根先实现数据传输,而458就是把这根线的传...

2019-03-09 22:01:39 7347 2

原创 《褚时健传》读后感

《褚时健传》读后感这周把褚时健读完了,感觉算是一本鸡汤书,也算是一本创业书。从中学习到了很多,感慨颇多。他经历了很多困境,面临很多困难,但面对困难他都会想方设法的去解决,不管是酿酒、打鱼、征粮还是办理企业,不管是被划成右派还是被打入地牢,面对这种复杂的环境,都能够克服,多困难都不怕。面对问题的时候都会抓住问题的本质,想方设法的去解决掉。想法也特别多,对每件想做的事对会细心的去专研。从他身上可以看...

2019-03-08 20:08:22 966

原创 window下Python3.6+Qyqt5+eric6搭建

window下Python3.6+Qyqt5+eric6搭建如果已经安装多了anaconda3,它已经自带了 PyQt5,只需要安装eric6即可,安装步骤:安装前首先在Notebook中进行测试,查看PyQt5是否安装成功,测试代码:import sysfrom PyQt5 import QtWidgets, QtCoreapp = QtWidgets.QApplication(...

2019-03-01 10:42:37 478

转载 SSL 证书格式普及,PEM、CER、JKS、PKCS12

SSL 证书格式普及,PEM、CER、JKS、PKCS12转自:https://blog.freessl.cn/ssl-cert-format-introduce/在我们收到的邮件中,有许多朋友咨询:你们这下载下来的证书是 PEM 格式的,但我的服务器不是用这种格式的,怎么办?那本篇文章就是来个大家普及一下证书的格式。是的,根据不同的服务器以及服务器的版本,我们需要用到不同的证书格式,就市面...

2019-01-10 10:15:31 11811

原创 Makefile简单使用

Makefile简单使用1 Makefile的引入及规则使用keil, mdk, avr等工具开发程序时点点鼠标就可以编译了,它的内部机制是什么?它怎么组织管理程序?怎么决定编译哪一个文件?2 对文件进行编译2.1 直接使用gcc进行编译简单, 但是会对所有文件都处理一次, 文件多时如果只修改其中一个文件会导致效率低gcc -o test a.c b.c 2.2 使用Makef...

2018-12-02 22:20:34 280

原创 AliOS-Things KV分析

AliOS-Things KV分析1 简介KV组件写平衡特性的实现考量由于小型物联网嵌入式设备的硬件资源较为匮乏,对code size以及RAM的占用size比较敏感。所以基于资源消耗的考量,写平衡特性在KV组件中的实现遵循make it simple原则,主要依赖以下两个策略来实现:异地更新策略:Key-Value键值对采用顺序写入、异地更新的方式,即不再在原存储位置擦除重写,而是在其...

2018-11-29 15:15:40 1872

转载 Alios-Things 点亮led

Alios Things 点亮led1 实现步骤点个灯是为了上手,了解一些最基础的东西,比如程序框架,外设的一般操作方式。 Alios即然是一个OS,程序框架必然和裸机操作不同,先看个简单的hello-world,代码如下#include &lt;aos/aos.h&gt;static void app_delayed_action(void *arg){ LOG("hell...

2018-11-25 20:11:41 864

原创 AliOS-Things新增一个模块

AliOS-Things新增一个模块文章目录AliOS-Things新增一个模块1 目标一1.1 选择新模块放置位置1.2 增加新模块源文件1.3 增加新模块的对外头文件1.4 增加新模块的.mk文件1.5 修改 nano 源文件调用新接口1.6 修改 nano的 .mk 文件依赖新模块1.7 运行1.8 新增一个模块总结2 目标二2.1 选择新模块放置位置2.2 代码实现2.3 输出结果3 目...

2018-11-23 21:25:11 2084

转载 AliOS Things的启动过程分析(二)

AliOS Things的启动过程分析(二)在AliOS Things的启动过程分析(一)中分析了developerkit从系统上电到调用main函数所经历的一些步骤,接下来详细分析一下main函数的一些工作,主要是内核的相关初始化工作。main函数所处的位置位于 platform\mcu\stm32l4xx_cube\aos\aos.c文件中。下面是main函数的代...

2018-11-23 14:34:21 577

转载 AliOS Things的启动过程分析(一)

AliOS Things的启动过程分析(一)在本篇文章中,我们以developerkit开发板为例,介绍AliOS Things的启动过程。AliOS Things支持多种工具链进行编译链接的方式生成可执行文件,在这里主要是以GCC的方式(更加通用)来进行介绍。建议可以先阅读AliOS Things的编译体系,对整个的编译流程有个简单的了解。链接一个可执行文件生成首先需要确定宿主平台(wind...

2018-11-23 14:31:34 3246

转载 AliOS Things 技术架构

AliOS Things 技术架构AliOS Things 架构可以适用于分层架构和组件化架构。一般来说,从底部到顶部,AliOS Things 包括:板级支持包(BSP):主要是由SoC供应商开发和维护硬件抽象层(HAL):比如WiFi 和 UART内核: 包括Rhino实时操作系统内核、Yloop、VFS、KV存储协议栈: 包括TCP/IP协议栈(LwIP),uMesh网络协议栈...

2018-11-23 14:26:04 4303

转载 AliOS-Things构建要素

构建要素一般而言,一个工程的构建包含如下几个要素:组件化思想组件化思想是指是功能模块可以随意地剪裁,拼接。实际上此思想的实现就主要依附于构建体系,一个组件存在的标志就是它有一个对应的 .mk 文件。由于采用组件化管理思想,为了让每个组件相互隔离,独立配置,每一个组件的目录下放置一个.mk来存放每个组件各异的操作配置。并且组件间通过依赖来指定关联。而构建系统所有组件统一的操作机制放在bui...

2018-11-23 13:58:39 554

转载 Makefile条件判断

Makefile条件判断使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。1 示例下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。libs_for_gcc&nbsp;=&nbsp;-lgnu&nbsp;normal_libs&nbsp;=&nbsp;foo:&nbsp;$(o...

2018-11-23 13:35:59 2731

原创 Ubuntu pytho2与python3版本切换

Ubuntu pytho2与python3版本切换1 切换Python3为默认版本sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150...

2018-11-14 14:57:15 421

转载 数字签名是什么?

数字签名是什么?转载:数字签名是什么?原文网址:http://www.youdzone.com/signature.html鲍勃有两把钥匙,一把是公钥,另一把是私钥。鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。鲍勃收信后,用私钥解密,就看到了信件内容...

2018-11-10 18:41:08 221

转载 彻底理解cookie,session,token

彻底理解cookie,session,token1 发展史1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站...

2018-11-10 18:34:58 146

原创 Django request对象

Django request对象1 简介服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。2 request对象的属性**request.scheme :**代表请求的方案,http或...

2018-11-10 16:03:04 5803

转载 Django admin 管理工具

Django admin 管理工具1 admin组件的使用Django 提供了基于 web 的管理工具。Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它:# Application definitionINSTALLED_APPS = [ 'django.contrib.ad...

2018-11-07 11:17:21 5788

转载 Cookie和Session

Cookie和Sessionhttp 协议是无状态的,如果需要保持用户名这种登录状态等情况,需要对用户的状态进行保存,这时就需要用到cookie和session了。1 cookiecookie是由服务器生成,存储在浏览器端的一小段文本信息。 常用于记住用户名特点:以键值对方式进行存储。通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器...

2018-11-07 01:19:36 325

转载 Django的认证系统

转自Django的认证系统Django自带的用户认证我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统–auth,它默认使用 auth_user 表来存储用户数据。1 auth模块fr...

2018-11-07 01:10:15 260

原创 Django admin修改用户密码

Django admin修改用户密码如果忘记了django的admin的密码,而数据库中的auth_user中关于密码的字段是经过加密的,这个时候你就可以通过django的命令来直接修改admin的密码1 方法一这个方法是用过shell命令方式对密码进行修改的,使用如下的命令:python&nbsp;manage.py&nbsp;shell from&nbsp;django.cont...

2018-11-02 19:21:04 8760

原创 Django 中间件

Django 中间件1 简介Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。 中间件的执行过程如下图所示:2 中间件函数Django在中间件中预置了五个方法,这五个方法的区别在于不同的阶段执行,对输入或输出进行干预,方法如下:初始化:无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件...

2018-11-02 19:13:45 315

原创 Django 汉化

Django 汉化1 简介Django 支持国际化,多语言。Django的国际化是默认开启的,如果您不需要国际化支持,那么您可以在您的设置文件中设置 USE_I18N = False,那么Django会进行一些优化,不加载国际化支持机制。NOTE: 18表示Internationalization这个单词首字母I和结尾字母N之间的字母有18个。I18N就是Internationalizati...

2018-11-02 16:13:41 899

原创 Linux 远程管理常用命令

远程管理常用命令主要内容查看或配置网卡信息ifconfigping远程登录和复制文件sshscp其他开关机 shutdown1 查看或配置网卡信息序号命令对应英文作用01ifconfigconfigure a network interface查看/配置计算机当前的网卡配置信息02ping ip地址ping检测到...

2018-10-21 13:23:27 302

空空如也

空空如也

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

TA关注的人

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