- 博客(36)
- 收藏
- 关注
原创 Linux操作系统-编译程序(编写驱动裸机)
使用arm-linux-gnueabihf工具编译文件,输入以下命令其中-g表示产生调试信息,-c表示编译源文件但是不产生链接文件,-o表示指定编译产生的文件名字。
2024-05-06 12:27:53
276
原创 Linux操作系统-LED点灯汇编代码实现
CCGR0-CCGR6这7个寄存器全部写为0xFFFFFFFF。然后将后面六个都赋值为0xffffffff。
2024-03-17 14:05:36
453
原创 Linux操作系统-汇编LED驱动程序基础
标号,表示地址位置,有些指令前面可以会有标号,这样可以通过这个标号得到指令的地址,标号也可以用来表示数据地址。注意label后面的“ :”,任何一 " : "结尾的标识符都会被认为是一个标号。指令,也就是汇编指令或伪代码。注释符号注释内容伪操作用来定义一个段,使用 .section来定义一个段,每个段以段名开始,以下一段名或者文件结尾结束,汇编系统定义了一些段名:表示代码段初始化的数据段未初始化到数据段只读数据段汇编程序的默认入口标号是定义一个单字节数据定义双字节数据。
2024-03-16 20:12:13
1362
2
原创 Linux操作系统与Windows文件互传(FTP)
打开Ubuntu的终端窗口,然后执行如下命令来安装 FTP服务。等待软件安装完成后,用输入以下命令打开vsftpd.conf文件找到下图的两个使能语句改成如图即可(。
2024-03-13 08:46:28
1523
原创 Linux操作系统Shell脚本
shell 脚本类似 windows 的批处理文件,shel 脚本就是将连续执行的命令写成一个文件。shel 脚本提供数组、循环、条件判断的等功能。
2024-03-12 21:07:51
401
原创 Linux操作系统Makefile基本语法
这条规则的目标是 mainmain.o、 input.o和 calcu.o是生成 main的依赖文件,如果要更新目标 main,就必须先更新它的所有依赖文件,如果依赖文件中的任 何一个有更新,那么目标也必须更新,“更新”就是执行一遍规则中的命令列表。Makefile第一条规则的目标成为默认目标,只要默认目标更新了那么就认为 Makefile的工作。
2024-03-12 00:54:44
437
原创 Linux操作系统make工具和makefile
当源码文件比较多的时候就不适合通过直接输入gcc命令来编译,这时候就需要自动化编译工具。make:一般说GNU Make,是一个软件,用于将源代码文件编译为可执行文件的二进制文件,make工具主要用于完成自动化编译提高编译效率。make工具编译的时候需要makefile文件提供编译文件。Makeflie:make工具所使用的文件,Makefile指明了编译规则。
2024-03-10 20:54:51
383
原创 Linux操作系统Linux—C编程
1.设置vim编辑器(1)vim编辑器tab键默认为8个空格键不适合编程使用,因此我们需要修改为4个空格。第一步:打开vimrc文件第二步:文件末行添加一句set ts=4(2)设置vim编辑器显示行号在文件vimrc末行添加一句set nu即可。2.编写C语言代码。
2024-03-09 17:37:47
439
原创 Linux操作系统vim编辑器
Linux系统都回自带vi编辑器,但是vi编辑器不太适合新手,所以需要使用以下命令安装vim编辑器。二、vim编辑器的三种工作模式vim 文件名 使用vim编辑器打开文件默认模式,用vim打开一个文件后自动进入此模式。一般模式中无法编辑文件,要编辑文件就要进入编辑模式。按下“i,l,a,A,o,O,s,r”等就可以进入编辑模式按下ESC键可以退出编辑模式。:先进入到一般模式,然后输入?这三个中的任意一个就可以进入命令行模式。/xxx:表示在文件中查找。
2024-03-09 16:58:23
547
原创 Linux操作系统连接文件
Linux有两种连接文件:1.:又称软连接,符号连接类似Windows下的快捷方式。2.:通过文件系统的连接产生新文件名,而不是产生新文件。:记录文件属性,一个文件一个inode,inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。
2024-03-09 16:11:34
399
原创 Linux操作系统文件权限
文件权限是指不同的用户或用户组对某个文件拥有的权限,文件的权限分为三种:r:读w:写x:可执行文件描述形式如下:-rw-rw-r:就是文件权限,第一位表示文件类型,剩下三位表示一组权限,分别对应拥有者权限,拥有者所在组权限,其他用户权限。可以使用二进制表示文件权限:r=4;w=2;x=1;
2024-03-07 20:06:22
343
原创 Linux操作系统中的用户与用户组
Linux是一个多用户操作系统,不同的用户拥有不同的权限,可以查看操作不同的文件,Ubuntu有三种用户:1.初次创建的用户2.root用户3.普通用户初次创建的用户权限不普通用户多,但是没有root用户多。初次创建的用户可以创建普通用户。Linux用户记录在/etc/passwd文件目录下Linux用户密码记录在/etc/shadow文件目录下每个用户都有一个ID叫做UID。
2024-03-07 18:42:10
494
原创 Liunx软件安装方式
make install 编译安装。四、自己下载程序源码编译安装。三、 使用deb工具进行安装。一、APP Store安装。二、使用apt命令安装。
2024-03-06 19:55:37
413
1
原创 Linux终端操作常用Shell命令
(14)删除目录:rmdir(文件夹非空时无法完成操作) 或者rm 文件夹名称/ -rf。(10)移动文件命令:mv(可用于文件与目录重命名)(15)显示网络配置信息命令:ifconfig。(4)系统信息查看命令:uname。(11)创建文件夹命令:mkdir。(7)切换用户身份命令:sudo。(12)创建文件命令:touch。(1)目录信息查看命令:ls。(13)删除文件命令:rm。(2)目录切换命令:cd。(8)文件拷贝命令:cp。(9)切换用户命令:su。2.Shell常用命令。
2024-03-05 21:43:05
1248
1
原创 C++复合数据类型——字符串string
初始化int main()//默认初始化string S1;//拷贝初始化//直接初始化//5个相同数据。
2024-01-20 16:12:53
640
原创 C++复合数据类型——模板类vector
数组尽管很灵活,但使用起来还是很多不方便。为此,C++语言定义了扩展的“抽象数据类型”(AbsraclDalaType, ADT),放在“标准库”中,对数组功能进行扩展的一个标准库类型,就是“容器”vector。顾名思义,vector“容纳”着一堆数据对象,其实就是一组类型相同的数据对象的集合。
2024-01-20 15:33:27
425
原创 11、STM32—编码器接口(代码示例)
编码器接口<1>编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置旋转方向和旋转速度<2>每个高级定时器和通用定时器都拥有1个编码器接口<3>借用了1和通道2(2)正交编码器。
2023-10-04 14:02:44
1619
1
原创 10、STM32-输入捕获(利用输入捕获测量频率与占空比)
IC)输入捕获<1>输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到 CCR中,可用于测量PWM波形的频率占空比脉冲间隔电平持续时间等参数<2>每个高级定时器和通用定时器都拥有4个输入捕获通道<3>可配置为PWMI模式同时测量频率和占空比<4>可配合主从触发模式,实现硬件全自动测量。
2023-10-03 21:04:17
837
原创 9、简单组合逻辑-层次化设计(Quartus II联合Modelsim 以全加器为例)
数字电路中根据模块层次不同有两种基本的结构设计方法:自底向上(Bottom-Up)的设计方法和自顶向下(Top-Down)的设计方法。自底向上的设计是一种传统的设计方法,对设计进行逐次划分的过程是从存在的基本单元出发的,设计树最末枝上的单元要么是已经构造出的单元。在自底向上建模方法中,我们首先对现有的功能块进行分析,然后使用这些模块来搭建规模大一些的功能块,如此继续直至顶层模块。
2023-10-03 10:35:35
1147
原创 9、STM32-输出比较(PWM呼吸灯,舵机,直流电机驱动)
(1) OC)输出比较<1>输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形<2>每个高级定时器和通用定时器都拥有4个输出比较通道<3>高级定时器的前3个通道额外拥有死区生成和互补输出的功能。
2023-10-02 17:45:31
565
1
原创 7、STM32-定时器(定时中断内外时钟源选择功能)
(1)定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。(2)16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现 最大59.65s的定时。(3)不仅具备基本的定时中断功能,而且还包含内外时钟源选择输入捕获输出比较编码器接口主从触发模式等多种功能。(4)根据复杂度和应用场景分为了高级定时器通用定时器基本定时器三种类型。
2023-10-02 11:52:25
513
1
原创 8、简单组合逻辑—半加器(Verilog HDL)
数字电路中加法器是经常用到的一种基本器件,主要用于两个数或者多个数的加和,加法器又分为半加器(half adder)和全加器(full adder)。半加器电路是指对两个输入数据位相加,输出一个结果位和进位,没有进位输入的加法器电路。是实现两个一位二进制数的加法运算电路。而全加器是在半加器的基础上的升级版,除了加数和被加数加和外还要加上上一级传进来的进位信号。
2023-10-01 22:22:17
932
原创 6、STM32-外部中断(使用对射式红外传感器以及旋转编码器示例)
(1)EXTI)外部中断(2)EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立 即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序(3)支持的触发方式:上升沿下降沿双边沿软件触发(4)支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断(5)通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB。
2023-10-01 20:37:02
179
原创 5、STM32—Keil在线调试(ST-Link)
(1)点击Keil工具栏的Start/Stop Debug Session按钮(或者按快捷键Ctrl+F5)(2)点击Debug进行对调试模式的设置(使用硬件仿真前需连接好相应连线)(1)打开keil点击option for target选项。
2023-10-01 16:42:23
2070
原创 4、STM32—按键输入控制LED以及光敏传感器控制蜂鸣器
(1)传感器模块:传感器元件(光敏电阻热敏电阻红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出。
2023-10-01 15:46:49
983
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人