- 博客(27)
- 资源 (13)
- 收藏
- 关注
原创 状态观测器ESO说明
我们利用系统的动态特性,通过观测系统的输出和之前的状态估计来更新状态观测器的参数。具体来说,我们通过计算观测误差(实际输出与状态观测器估计的输出之间的差异),并使用这个误差来调整参数,从而使状态观测器能够更准确地估计出输入信号中的扰动。简而言之,扩张状态观测器(ESO)算法利用系统的动态特性和观测误差来估计输入信号中的扰动和噪声,并将其从观测信号中滤除,从而得到更准确的系统输出。最终,我们可以通过减去状态观测器估计的扰动信号,去除输入信号中的干扰和噪声,得到更准确的系统输出信号。
2024-01-08 17:54:17
2577
1
原创 ASCIALL字符
Asciall 字符表完整Asciall字符表 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~使用取模软件生成的数据const unsigned char F8X16[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
2021-11-03 22:55:01
488
原创 STM32引入SERRER_RTT Jlink打印
介绍在STM32上进行相应的嵌入式开发时有时需要打印数据,通常会开一个串口将printf映射到某一个空闲串口上以此来打印数据观察当然上述方法完全是没有问题的,其实还有一种更为简单的打印数据方式无需串口即可实现打印调试准备工具需要移植官网SEGGER_RTT官网代码即可实现JLINK打印SEGGER_RTT库:驱动库下载同时需要JLINK查看打印数据的工具,这里使用JLINKV6.8工具包中的J-RTT_viewer6.8d可以安装该工具包:JLINK_RTT-v6.8下载SEGGER_RTT
2021-06-16 12:08:06
859
原创 电脑接口介绍
电脑接口硬盘接口图片内存接口区分内存条有标压和低压区分 一般电脑都支持标压和低压两种电脑会自动识别并分配电压 标压1.5V 低压1.35VDDR3(PC3) DDR3L(PC3L)DDR4(PC4) DDR4L(PC4L)不同刷新率的同带内存会自动匹配为低刷新率的内存...
2021-06-16 10:23:28
3177
原创 GIThub使用总结
GIThub使用文章目录GIThub使用配置信息工作流图解三步奏实践总结完整的一次git过程合并某一个分支上的某一条修改配置信息查看用户名和邮箱地址git config user.namegit config user.email修改用户名和邮箱地址:git config --global user.name “username”git config --global user.email “email”初始化一个本地仓库git init检查配置信息git config --list
2021-05-23 22:55:46
260
2
原创 STM32段错误调试 HardFault
STM32一般发生段错误造成死机解决先描述下问题,在FfreeRTOS中创建任务只要超过15个就发生死机如下图 (原因是由于修改过内核造成,这个不纠结这个主要看如何发现并解决此bug)发生段错误一般都是由于数组越界,内存溢出,野指针等问题造成,下边介绍一下通过调试解决bug的方法1.如上图 发什么死机等现象时,自己写一个HardFault_Handler()函数来接管改中断,程序发生此类问题都会进入该中断,通过调试向前查找即可找到进入改中断前都发生了什么事。2.在程序进入到该中断时打
2021-05-19 09:22:54
806
12
原创 QT5 qml的ListView控件使用
先看下最终效果以上是一个QML的ListView控件的简单使用,包含有列表,选中显示,放大显示,和滑动条代码import QtQuick 2.9import QtQuick.Window 2.2import QtQuick.Controls 2.1Window { id:window visible: true width: 1920 height: 1080 title: qsTr("ListView TEST") color:"black
2021-02-17 12:35:33
1602
原创 VS code 开发python环境搭建及自动补全设置
1.安装VScodeVScode:https://code.visualstudio.com/2.安装python3Python:https://www.python.org/downloads/3.安装第三方包通过python自带的pip工具,安装两个一会儿配置VScode需要的包。flake8和yapfflake8会检查编写代码时的不规范的地方和语法错误。yapf是一个代码格式化工具,可以一键美化代码。安装过程如下:1、在cmd输入pip list检查是否已存在需要的包2、输入pi.
2020-05-10 21:08:25
3670
原创 LINUX命令大全
su:Swith user 切换用户,搜索引擎大全切换到root用户cat: Concatenate 串联uname: Unix name 系统名称df: Disk free 空余硬盘du: Disk usage 硬盘使用率chown: Change owner 改变所有者chgrp: Change group 改变用户组ps:Process Status 进程状态...
2020-02-20 14:22:46
279
原创 资源地址
ubuntu镜像下载地址http://mirrors.163.com/ubuntu-releases/QT下载地址总汇http://download.qt.io/archive/qt/
2020-02-20 14:21:28
1670
原创 BC95对接华为OceanConnect平台 (M5310对接OceanConnect平台)
1.使用模块介绍 NBiot对接华为OceanConnect平台,网上的资料实在太繁杂,模块也较多,下边简单快速的让设备上云。在这里使用BC95模块进行对接,(M5310的对接方式一样包括AT指令,使用的芯片一致)。下边是几款NBiot的基本信息。本次选用的两个模块都使用HI2110芯片 接入方式一致,其他的有待验证。2.华为平台介绍及接入流程华为云平台...
2019-05-07 14:43:21
2557
1
转载 LINUX常用命令整理
pwd: print work directory 打印当前目录 显示出当前工作目录的绝对路径 ps: process status(进程状态,类似于windows的任务管理器) 常用参数:-auxf ps -auxf 显示进程状态 df: disk free 其功能是显示磁盘可用空间数目信息及空间结点信息。换句话说,就是报告在任何安装的设备或目录中,还剩多少自由的空间。 d...
2019-05-07 14:00:37
521
原创 Linux内核模块编译出错问题解决
在对内核模块进行编译时出现以下错误出现该问题是由于没有指定架构和编译器造成的首先看下内核模块的编译过程编译内核模块的Makefile举例如下 ifneq($(KERNELRELEASE),) obj-m:=hello.o else KDIR:=/lib/modules/$(shelluname-r)/build PWD:=$(she...
2019-04-23 15:19:35
6354
原创 Linux中断管理
每一个中断信号linux都会分配一个中断号驱动开发人员需要在arch/arm/mach-exynos/include/mach/irqs.h ,找到中断编号每一中断信号在linux内核中都有一个struct irq_desc结构体来描述这个中断,当中断发生时内核会根据中断编号查找irq_desc结构体linux在中断处理的时候,整个中断处于关闭状态,中断处理引入底半部基址(中断的延时处理)...
2018-12-13 15:08:27
470
原创 ARM常用汇编指令总结
arm的汇编指令: arm的最后一个操作数可以是: 寄存器、立即数、寄存移位操作 数据处理指令: 传输指令、 MOV{S}<c> <Rd>, #<const> MOV{S}<c> <Rd>, <Rm> ***...
2018-12-13 14:53:27
1496
原创 ARM的寄存器及异常处理机制
arm的寄存器: 普通:r0-r15 r0-r12 //存储任何数据 r13(sp) //栈指针寄存器(私有寄存器),当模式切换、程序跳转时,可以存储通用寄存器数值到sp指向的内存地址 r14(lr)//链接寄存器() 当程序跳转时,用来记录程序返回地址 r15(pc)//程序计数器 读操作:arm状态读取得是当...
2018-12-13 14:49:11
921
原创 Linux添加一个内核模块
内核模块:动态加载或删除不会影响内核正常运行的代码#include <linux/init.h>#include <linux/module.h>static __init int hello_init(void) //__init修饰的函数,执行结束后,函数的内存空间会被释放 { printk("hello kernel!!!\n"); ret...
2018-12-13 14:44:42
2189
原创 Linux内核开发配置
dnw工具安装: 1.解压缩 :tar xvf dnw.tar.gz 2.cd dnw-linux 3.make 4.sudo make install nfs配置: 1.sudo vi /etc/export 增加:/home/linux/nfs *(rw,sync,no_subtree_check,no_root...
2018-12-13 14:38:05
164
原创 LINUX内核裁剪
确定平台:每一个平台在内核源代码中都有一个后缀名为$(PLATFORM)_defconfig的文件只需要将$(PLATFORM)_defconfig 拷贝到内核源码定层目录重命名为.config 即可make menuconfig 实现内核裁剪,linux驱动模块的后缀 .ko设为y都被编译进zImage设为n都不被编译进zImage设为m,只编译,不链接 会生成 ****...
2018-12-13 14:33:32
1818
原创 Linux系统移植过程
1.确定工具链在主Makefile确定2.确定平台make tiny4412_config //tiny4412_config需要在boards.cfg文件下查询板子名生成了include/config.h 和include/config.mk3.编译make 使用:sudo fdisk -l查看sd卡的设备节点烧写uboot到sd卡1.cd sd_fuse...
2018-12-13 14:29:50
718
原创 字符串与数组使用的区别总结
用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题:1.字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。2.对字符串指针方式,char *ps=”C Language”;可以写成char *ps;p...
2018-12-13 14:26:10
1126
转载 进程上下文与中断上下文
用户空间与内核空间,进程上下文与中断上下文[总结]1、前言 最近在学习linux内核方面的知识,经常会看到用户空间与内核空间及进程上下文与中断上下文。看着很熟悉,半天又说不出到底是怎么回事,有什么区别。看书过程经常被感觉欺骗,似懂非懂的感觉,很是不爽,今天好好结合书和网上的资料总结一下,加深理解。2、用户空间与内核空间 我们知道现在操作系统都是采用虚拟存储器,那么对32位操作...
2018-12-13 14:24:24
193
转载 linux内核头文件分析
#include<asm/types.h>,但在linux kernel的include文件夹下并没有这个文件夹,倒是有不少以asm打头的文件夹,如:asm_powerpc、asm_ppc等。源代码中没有asm这个文件夹,asm是一个符号连接,只有在你的主makefile的ARCH 变量赋值,编译内核的时候根据ARCH 的配置,临时的生成asm文件夹及其下的文件,然后指向对应的体...
2018-12-13 14:22:05
1176
原创 linux驱动调试--段错误之oops信息分析
1. 分析coredump打印信息2. 确定发生错误的函数看发生错误的地方的函数和pcPC is at segment_test_open+0x14/0x1c [segdrv]看pc值:pc : [<7f000014>] lr : [<800d958c>] psr: 20070013看Backtrace:[<7f000014&g...
2018-12-13 14:20:01
320
原创 Ubuntu下循环登录问题解决
造成这种问题的大多原因是由于环境变量引起的,也很好解决,删掉错误的环境变量就好。1.什么是环境变量环境变量是系统自执行程序时默认去指定目录下查找的路径,在windows和ubunt中都要设置环境变量,当然如果不怕麻烦每次输入绝对路径也不是不可行的。在ununtu中“/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统...
2018-11-30 18:03:20
6348
5
原创 STM32串口卡死问题
本次遇到的问题是USART串口发送函数卡死程序,究其原因原来是串口发送函数中的发送空寄存器没有置位,且超时时间设置的太大导致程序死循环,直到发送超时退出。在调用CUBE的串口发送函数时一定要注意写的方式。关于传送完毕,有人用如下方法等待传送完毕虽然方案可行while(HAL_OK !=HAL_UART_Transmit(&huart2, transmit,len, timeout))...
2018-11-14 16:51:30
19113
基于QT5实现一个简单好用的网络串口调试助手
2019-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人