- 博客(30)
- 资源 (3)
- 收藏
- 关注
原创 正点原子IMX6ULL开发板-liunx内核移植例程-uboot卡在Starting kernel...问题
记录Linux内核移植,Uboot卡在Starting Kernel...的解决方法。
2023-03-01 19:49:56
1211
2
原创 高级定时器实例-PWM互补输出与刹车功能
我手中的正点原子STM32MINI板所用的主控型号为STM32F103C8T6,因此高级定时器只有TIM1和TIM8,本章我所使用的资源为TIM1的CH1,CH1N,BKIN,通过这些资源实现PWM的互补输出以及刹车功能。
2022-10-05 17:54:11
14722
5
原创 ARM-Linux 交叉编译工具链安装
创建时间:2022-04-12-23:10说明:在Linux下安装arm-linux交叉编译工具链修改时间:修改内容:1. 前言在ubuntu中系统自带的gcc编译器是基于x86架构的,通过该编译器编译出来的代码只能在x86架构上运行。如果需要在x86架构上编译arm架构的代码,就需要一个可以在x86架构上运行可编译arm架构的交叉编译工具链。2. 交叉编译工具链的下载Q1:什么是交叉编译工具A1:交叉编译工具指在一个架构上编译另一个架构的代码,例:在x86架构上编译arm架构的代码.
2022-04-13 00:52:52
15808
3
原创 Ubuntu 和 Windows 互传文件
创建时间:2022-04-11-23:49说明:记录 Ubuntu 和 Windows 互传文件的环境配置过程修改时间:修改内容:1. 前言2. 配置 Ubuntu 的环境3. 配置 Window 的环境4. 连通 Ubuntu 和 Window
2022-04-12 01:35:25
2687
原创 shell脚本的简单应用
创建时间:2022-04-10-23:25说明:对shell语法进行简单的练习修改时间:修改内容:1. Shell 环境Linux 下 Shell 种类很多,目前常用的是 Bourne Again Shell(/bin/bash)1.1 编写第一个 shell 脚本创建一个 .sh 扩展名的文件,并将 #!/bin/bash 写在第一行1.2 运行 shell 脚本运行 shell 脚本前,要把 .sh 文件的权限改为可执行chmod 777 my.sh运行方式有以下 2 种:.
2022-04-11 02:32:02
1267
原创 Linux--- Make 工具和 MakeFile 文件
创建时间:2022-04-09-23:39说明:介绍make工具和配置makefile文件编译并执行C程序修改时间:修改说明:1. Make工具1.1 说明Make工具指GNU Make,该工具通过gcc编译工具利用makefile文件规则自动完成编译、链接1.2 特点如果工程没有编译过,那么工程中所有.c文件均编译并且链接成可执行程序如果工程编译过并且只有个别.c文件被修改了,那么只编译修改过的.c文件并且重新链接如果工程的头文件被修改,那么只编译引用这个头文件的.c文件并且重新.
2022-04-10 16:01:19
1260
原创 Linux---c编程
创建时间:2022-04-08-23:43说明:使用vim编辑器和gcc编译器生成并执行一个c程序修改时间:修改说明:1. 编译流程编译流程分为3个阶段:预处理、汇编、编译、链接预处理:对宏定义等相关内容进行前期的处理汇编:将C文件转成汇编文件编译:将汇编文件编译成 .o 文件链接:若有多个 .o 文件,将多个 .o 文件链接成一个完整的可执行文件2. vim编辑器安装与设置使用vim编辑器来编辑c文件,具体安装与设置如下2.1安装/*安装命令*/sudo apt-get.
2022-04-09 00:49:05
970
原创 Linux---软链接与硬链接
创建时间:2022-04-06-22:58说明:简单使用ln命令来创建软链接和硬链接修改时间:修改内容:ln链接命令使用 ln 命令,对文件或目录进行软链接(可以指向任何位置的目标),对文件进行硬链接(硬链接不支持跨文件系统),具体细节如下:注:ln 命令默认创建为硬链接,使用 -s 选项时创建符号链接(软链接)使用硬链接,删除目标文件并不会使目标文件真正消失,只有当删除所有指向目标文件的硬链接,目标文件才会真正消失软链接可以指向任何位置的目标(文件或目录),但最好使用绝对路径,删.
2022-04-07 00:28:36
1333
原创 Ubuntu---文件权限查看和修改
创建时间:2022-04-05-22:59说明:查看文件权限及修改文件权限和所属用户、用户组修改时间:修改内容:前言简单举例说明在Ubuntu下文件权限的组成及如何修改文件权限,用户和组文件权限组成文件权限由读,写、可执行三大类组成,用二进制和十进制表示如下:其中:读:r写:w可执行:x查看/*命令格式*/ls 文件名 -l说明如上图,文件权限根据所属用户、用户组和普通用户分为3块,分别是rw-,rw-,r–,转成十进制则是6,6,4;同理,当一个文件权限为777.
2022-04-05 23:58:59
10388
原创 Ubuntu-打包解包命令
创建时间:2022-04-04-23:27说明:介绍Ubuntu常用打包解包工具及命令修改时间:2022-04-05-01:08修改内容:更正文章正文文字表达—将压缩更改为打包,将解压更改为解包修改时间:修改内容:前言目前了解到的情况如下:在Ubuntu下打包文件格式有 .gz 和 .bz2 两种,主要使用的目录打包工具是 tar,所以下面只是简单地介绍一些常用的命令,更加具体地使用,请参考工具对应的help命令文件打包解包工具gzip使用gzip打包解包文件,文件压缩后后缀为 ..
2022-04-05 01:10:46
4147
1
原创 新安装的Ubuntu使用su命令显示密码错误
软件版本Ubuntu:20.04.4 LTS解决方法新安装的Ubuntu默认root用户是没有密码的,因此输入什么都是错的,在解决该问题前,首先要明白su和sudo命令的区别,之后再设定root用户的密码su 和 sudo的区别su是切换root用户,后续的所有命令都是以root权限运行,直到退出root用户;sudo是将登录用户切到root用户,但只对本命令有效,后续的所有命令还是使用登录用户的权限,并非root权限su输入的密码是root的密码;sudo输入的密码是登录用户的密码设置r
2022-03-31 01:19:09
4179
1
原创 安装VMware的VM Tools
软件版本VMware:16.1.1Ubuntu:20.04.4 LTS安装步骤在打开Ubuntu的前提下,执行如下步骤点击虚拟机–重新安装VM Tools将下载好的VM Tools压缩包复制到桌面在桌面打开终端,输入命令ls将压缩包解压到桌面切换到解压后的文件夹,安装vm tools提示yes/no的均输入yes,其余的一律按enter最后安装成功如下重启系统至此,VM Tools工具安装成功...
2022-03-31 00:23:03
2107
原创 source insight安装与报错问题记录
安装安装请参考:Source Insight 4.0安装教程(附上安装包及破解文件)报错source insight 4.0 首次安装打开后,弹出:Unable to open or create …我的文档/source insght4.0/xxx.sidb错误界面解决方法:按win+r,打开运行窗口输入regedit后,按回车键打开注册表复制HKEY_CURRENT_USER\Software\Source Dynamics\Source Insight\4.0\Paths到搜索栏后
2022-02-10 23:18:19
1501
原创 函数return几个问题
前言在给这篇文章起标题时,我很纠结,我自己其实都不清楚这个问题该怎么描述。写这篇文章的初衷呢,是因为,我发现我对函数的参数传递理解其实并不透彻,尽管我知道值传递、地址传递,但在使用return返回的参数时,也总是漏洞百出。所以,我写下了这篇文章,希望能借此让自己的理解更进一层。正文问题一: 不传入参数,返回变量例如:#include <iostream>using namespace std;int func1(){ int a = 10; cout <<
2021-05-29 14:57:45
261
原创 平衡二叉树
平衡二叉树(AVL树)定义或是空树或是每个结点深度之差不超过1的二叉排序树举例如下(结点的平衡因子=左子树深度-右子树深度):旋转(将二叉排序树调整为二叉平衡树)由于在二叉平衡树中插入或删除结点后,可能使平衡二叉树失去平衡,因此需要对其进行调整。假设结点a是失去平衡的最小子树的根结点1. 左单旋转(RR型)失衡原因:结点的右孩子的右子树插入结点所致调整策略:以结点的右孩子为轴,逆时针旋转,旋转以后,结点将作为其右孩子的左孩子,结点右孩子原来的左孩子作为结点的右孩子举例(B、
2021-05-27 15:23:17
224
原创 二叉排序树结点的查找、插入、删除
二叉排序树(查找、结点增加、删除)定义或是空树或具有下列性质:若左子树不为空,则左子树上所有结点的值均小于根结点的值若右子树不为空,则右子树上所有结点的值均大于根结点的值左右子树本身也是一棵二叉排序树举例:优点提高查找和插入删除关键字的速度结点查找算法分析若二叉排序树为空,查找失败若二叉排序树非空,比较查找关键字,若相等,查找成功,否则:A.若关键字小于根结点的关键字值,在根结点的左子树上继续查找,转向1B.若关键字大于根结点的关键字值,
2021-05-16 14:44:19
619
原创 二叉树的遍历算法(递归、层次、非递归)(c++)
二叉树的遍历算法(递归、层次、非递归)递归、层次遍历算法先序遍历若二叉树为空,遍历结束;否则,先根结点、再左子树、后右子树/*//二叉链表结点定义template <class T>class BiTreeNode{public: T data; //数据域 BiTreeNode<T>* lchild; //左孩子指针域 BiTreeNode<T>* rchild; //右孩子指针域};*/template<typename T&
2021-05-12 17:15:40
413
原创 索引表的顺序查找
索引表的顺序查找基本策略采用建立“目录”的形式,先查找目录,然后根据目录将需要的数据块读入内存,从而实现只需先对小部分数据进行查询,提高查找效率的效果索引表的建立将线索表中数据按关键字分为若干块(块可按升序、降序排序)对每块建立索引项,每一个索引项均包含:关键字项(该块的最大、最小关键字)指针项(记录该块第一个数据在线索表中的位置)将所有索引项组成索引表索引表的查找查找目录 (根据索引表的关键字项查找记录所在块;根据指针项确定所在块的第一个记录的物理地址)查找数据(在块
2021-04-25 12:59:09
3176
原创 链式基数排序
链式基数排序基本策略分配----收集何为链式基数排序?将单关键字排序转成多关建字排序,具体为,在排序过程中,将关键字拆分成若干项,然后把每一项作为一个“关键字“。对于整数或字符串型的关键字,可将其拆分为单个数字或单个字母。例如:当单关键字“ 123 ”,从低位到高位可拆成关键字 “3”,“2”,“1”基本思想从最低位的关键字开始,按关键字的不同值将序列中的数据分配到不同的队列中然后按关键字从小到大(升序)收集起来,此时完成一趟分配—收集重复分配—收集,直到最高位分配—收集完成,
2021-04-22 16:25:03
5258
2
原创 简单选择排序算法
简单选择排序算法基本策略每次从无序序列中选出一个关键字最大(最小)的记录添加到有序序列尾部基本思想第一趟:从长度为len的序列中选出关键字最大(最小)的记录与第1个记录交换第二趟:从第2个数据开始,从长度为 len-1 的序列中选出关键字最大(最小)的记录与第2个记录交换第三趟:从第3个数据开始,从长度为 len-2 的序列中选出关键字最大(最小)的记录与第3个记录交换…第 i 趟:从第 i 个数据开始,从长度为 len-i+1 的序列中选出关键字最大(最小)的记录与
2021-04-20 12:56:15
7090
1
原创 冒泡排序
基本思想是一种两两比较、交换的交换排序算法对于长度为 n 的序列,第 i 趟操作流程为:从序列最左边开始,比较第1个和第2个,如果不满足排序要求,则进行交换,交换后,再比较第2和第3个,如果不满足排序要求,则进行交换,一直如此比较下去,直到比较完第 n - i 和 n - i +1个数据,则该趟全部比较完成。实例分析以序列{12,34,20,15,9,25,27,13}为例,第1趟和第2趟交换过程如下根据以上过程,可得到以下推论代码实现(c语言)//冒泡排序---非递减 voi
2021-04-05 21:16:16
251
原创 希尔排序(直接插入排序优化)
基本思想根据步长给序列分组,每组又通过直接插入排序算法进行排序,然后通过不断缩短步长,直接插入排序算法进行排序,直至步长为1,则序列排序完成。直接插入与希尔排序适用情况思路分析选定步长gap,将 gap 位定为 i,则 i 与 i - gap位为一组序列通过直接插入排序将该序列进行排序,排序成功后,i 往后移动一位,直至 i = len,则第一趟排序成功重复1、2,当gap = 1,整个序列排序成功代码实现(c语言)//非递减排序void Shell_Insert_Sort(D
2021-04-04 20:34:32
153
原创 利用Matlab描述和求解传递函数
系统数学模型表示形式有理多项式模型在MATLAB中,传递函数可以方便地由其分子和分母多项式系数所构成的两个向量唯一确定出来,即 num = [b0,b1,…bm]; den=[1,a1,…,an]。则在MATLANB中G(s)可直接用num/den表示,即G(s) = num/den零-极点模型在MATLAB下,零-极点模型可以由零点、极点和增益所构成的列向量唯一确定出来,即Z = [z1;z2;…;zm]; P = [p1;p2;…;pm]; K = K
2020-11-07 18:44:09
95047
13
原创 SR锁存器_个人整理
前言:SR锁存器(Set-Reset Latch)是静态存储单元当中最基本,也是电路结构最简单的一种,通常由两个或非门或者与非门组成。其中S表示Set,R表示Reset。则S_D称为置位端或置1输入端,R_D称为复位端或置0输入端。状态及特性表:1.电路结构图:a.用或非门组成的锁存器:b.用与非门组成的锁存器:2.状态方式:对照上边电路结构图,根据正逻辑约定(高电平表示逻辑1状态;低电平表示逻辑0状态),可得到以下状态图(下面以用或非门组成的锁存器为例):特别注意:在正常工作时输入
2020-06-04 14:22:54
67643
10
原创 DS1302的整理与使用(笔记篇)
模块及引脚说明寄存器时序图代码篇头文件#ifndef _DS1302_H_/*宏定义*/#define uchar unsigned char#define Write_Second 0x80 //写秒#define Read_Second 0X81 //读秒#define Write_Minute 0X82 //写分#define Read_Minute 0X83 //读分#define Write_Hour 0X84 //写时#define Read_Hour 0X
2020-05-13 10:22:53
1105
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人