- 博客(10)
- 收藏
- 关注
原创 RK3566泰山派PWM控制直流电机
本次实验中,需要用到的TB6612引脚分别为:①VM-驱动电压输入端(接5V)②VCC-逻辑电平输入端(接3V3)③GND-电源地端 ④STBY-状态控制输入端(接3V3)⑤PWMA-PWM信号输入端 ⑥AIN1和AIN2-电机控制模式输入端 ⑦A01和A02-电机驱动输出端。在/sys/class/gpio/gpioN/(N=0,1,2...)下有多种属性,可以通过这些属性进行控制,从而实现对GPIO的控制。/sys/class/gpio/export 将GPIO控制权从内核空间导出到用户空间(只写)
2024-06-27 09:54:54
3174
1
原创 Linux系统编程基本程序框架
注意通过adb push到开发板的文件要赋一下权限,这里直接chmod 777,权限开到最大,就可以在开发板中执行该文件啦。通过gcc直接编译得到的文件只能在ubuntu下运行,通过file命令来查看文件类型。Linux系统编程也叫Linux下的高级编程,是介于应用层和驱动层之间的。想要在开发板中运行的话就要使用交叉编译器。2、Linux系统编程的基本程序框架。编译后通过adb push到开发板中。在ubuntu下gcc编译并运行。1、什么是Linux系统编程?-----仅作为学习笔记。
2024-06-21 20:56:21
428
原创 make工具与makefile(二)
因为var2变量的值为./和./test,所以先把./和./test/取出来放在n变量,然后再执行wildcard函数取出./和./test/下面的c文件的路径。在/home/longlive/test目录有一个a.c的c文件和一个test的文件夹,在/home/longlive/test文件夹下有一个b.c的文件。我们在上面的makefile中加上以下代码,因为上面的例子我们得到的结果是./a.c和./test/b.c是有路径的,我们可以直接使用这个变量。(%为通配符,类似linux上的*)
2024-06-01 11:21:10
1235
原创 make工具与makefile(一)
使用=来给变量赋值,是延时赋值,使用它来赋值是makefile里面最后被指定的值。=来赋值的意思为,如果var1变量前面没有被赋值,那么就给他赋值为ccc,如果前面已经赋值了,就使用前面的值,所以打印为aaabbb,而不是cccbbb,如下图所示。在编译的时候,我们可以使用make目标来编译,如果我们不指定目标的话,默认执行的是第一个目标所对应的规则。使用:=来给变量赋值,是立刻赋值,在执行var:=aaa的同时,变量值已经被确定了,所以最后打印为aaabbb,而不是cccbbb。
2024-05-30 12:35:11
1961
原创 Linux编写第一个自己的命令
将hello文件拷贝到/bin/文件夹中,再执行hello文件可以看到能成功执行,此时的hello就是一个命令。在环境变量中配置hello所在的位置(临时变量或者在.bashrc中添加)可以看到编译过后生成的hello文件无法直接执行。方法一:先创建一个.c文件hello.c。ls就是程序的名字 -al就是参数。功能:显示进程的动态。2.定义一个自己的命令。命令就是可执行程序。比如ls -al命令。
2024-05-27 00:35:15
314
原创 Linux环境变量讲解
举例:比如我们之前学习的命令我们不管在哪个路径下输入,都是可以执行成功的,因为系统已经把命令的搜索路径提前设置好了。Linux是一个多用户的操作系统,所以每一个用户也都有自己的环境变量。这个变量决定了要去哪个路径下去寻找我们的程序或者命令,而且在以后的开发过程中,我们要经常修改这个变量。使用这个方法环境变量是立刻生效的,但是只是临时改变,我们关闭终端就没有了,而且只对当前用户生效。命令格式:export 变量=新增的变量值:$变量。修改这个文件是永久生效的,但是也仅对当前用户生效。
2024-05-25 21:07:56
505
原创 Linux第一个程序Helloworld
如果我们不使用-o参数指定我们生成文件的名称,直接输入gcc hello.c编译后会得到一个a.out文件,执行这个a.out和执行hello的结果是一样的。从hello.c编译得到hello或者a.out要经历四个步骤:预处理,编译,汇编,链接。输入./hello运行hello文件,./的意思为在当前目录找我们的hello文件并执行。使用gcc -E hello.c -o hello.i得到预处理后的文件。-c 参数 可以把hello.s文件编译成hello.o文件。hello.o 目标文件。
2024-05-25 20:28:49
369
原创 Linux连接档概念
可以发现test3.c和test1.c的inode号是不一样的,所以这两个文件是完全独立的,总之软连接就是创立了一个新文件,当访问这个连接文件的时候,系统就会发现它是一个连接文件,然后读取连接文件找到真正要访问的文件。inode是用来存放文件信息的,每个文件都会占用一个inode,并且这个inode号是唯一的,文件内容都是inode来指定的,而不是文件名,当系统要访问文件时,inode就会被复制到内存,从而实现文件的访问,使用ls -i命令可以看到inode号,-i参数为打印文件的inode号。
2024-05-25 17:29:01
690
原创 立创·泰山派RK3566移植minicom
最近想移植minicom串口助手到泰山派中,参照正点原子的移植教程,虽然编译安装成功但是移植到开发板后,minicom -v一直显示No such file or directory,后面发现是交叉编译器的问题,泰山派用到的交叉编译器是aarch64-linux-gnu,所以在配置ncurses和minicom的过程中要注意这一点。
2024-05-23 20:36:27
593
原创 C语言分支和循环语句
switch后面的()内是整形表达式,就是说这个表达式结果的数据类型必须是整形,case后面的表达式是整型常量表达式,就是说这个表达式不仅结果必须是整形,而且结果必须是常量。default子句和if-else中的else作用类似,都是将前面所有情况的补集作为自己的触发条件,也就是说前面的所有情况的条件判断都为假就执行它,而且它和else一样,并不是必须得存在。它是分支语句的一种,也是我们写出选择结构所必须掌握的语句。当表达式的值为真时,就重复执行循环语句,直到表达式的值为假,则跳出循环,执行其他语句。
2024-04-20 23:16:01
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅