智能小车单片机课程设计报告剖析文档格式.docx
《智能小车单片机课程设计报告剖析文档格式.docx》由会员分享,可在线阅读,更多相关《智能小车单片机课程设计报告剖析文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
/.../..../
~:
代表的是/home/linux这个路径.(家目录).
ls(list):
列出当前路径下的文件名和目录名.
ls-a(all):
列出当前路径下的所有文件和目录名,包括了隐藏文件.
.:
当前路径
..:
上一级路径
ls-l:
以横排的方式列出文件的详细信息
total269464(当前这个路径总计所占空间的大小,单位是K)
drwxr-xr-x3linuxlinux4096Dec419:
16Desktop
第一个位置:
代表的是文件的类型.
linux系统下的文件类型有以下几种.
b:
块设备文件
c:
字符设备文件
d:
directory,目录
-:
普通文件.
l:
连接文件.
s:
套接字文件.
p:
管道文件.
rwxr-xr-x:
权限
r:
读权限-:
没有相对应的权限
w:
写权限
x:
可执行权限
修改权限:
chmodu-或者+r/w/x文件名
chmodg-或者+r/w/x文件名
chmodo-或者+r/w/x文件名
第一组:
用户权限
第二组:
用户组的权限
第三组:
其他用户的权限.
chmod三个数(权限)文件名
首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数
rwxr-x-wx
111101011
753
chmod753文件名
rwx--xr-x
第二个位置上的数字:
对应目录下的子文件个数,如果是非目录,则数字是1
第三个位置:
用户名(文件创造者).
第四个位置:
用户组的名字(前边的用户所处在的用户组的名字).
第五个位置:
对应文件所占的空间大小(单位为b)
第六~八个位置:
Dec419:
16时间戳(最后一次修改文件的时间)
最后一个位置:
文件名
操作文件:
1.创建一个普通文件:
touch文件名
2.删除一个文件:
rm(remove)文件名
3.新建一个目录:
mkdir(makedirectory)目录名
递归创建目录:
mkdir-p目录1/目录2/目录3
4.删除一个目录:
rmdir目录名.//仅删除一个空目录
rm-rf目录名//删除一个非空目录
5.切换目录(changedirectory):
cd路径
linux下的路径分两种
相对路径:
以.(当前路径)为起点.
绝对路径:
以/(根目录)为起点,
用相对路径的方式进入Music:
cd./Music
用绝对路径的方式进入Desktop:
cd/home/linux/Desktop
返回上一级:
cd..
返回加家目录的三种方式
(1).cd
(2).cd~
(3).cd/home/linux
进入到1目录里并创建一个2普通文件,再退回上一级,并且删除1目录
6.拷贝文件.
cp(copy)路径1/源文件路径2:
把路径1下的文件拷贝到路径2下
cp路径1/源文件路径2/目标文件:
把路径1下的文件拷贝到路径2下并且重命名位目标文件.
cp(copy)-r路径1/目录名路径2:
把路径1下的目录拷贝到路径2下
7.剪切文件
mv(move)路径1/源文件路径2:
把路径1下的文件剪切到路径2下
mv路径1/源文件路径2/目标文件:
把路径1下的文件剪切到路径2下并且重命名位目标文件
mv源文件目标文件:
重命名文件
mv路径1/目录名路径2:
把路径1下的目录剪切到路径2下
8.clear:
清屏
9.exit退出终端
vi编辑器.
vi文件名:
如果文件不存在则创建并打开
如果文件已存在,则直接打开
VI编辑器的三种模式
1.命令行模式:
刚进入编辑器的时候,默认处在这种模式下
2.编辑模式(插入模式):
输入a/i/o即可进入,按下esc键退回命令行模式,再输入冒号
即可进入底行模式.
3.底行模式下:
w(保存),q(退出),wq(保存并退出),q!
(强制退出不保存)
按下退格键,删除冒号,即可进入命令行模式.
终极保存法;
w!
sudotee%d回车再回车即可
命令行模式下的快捷操作:
1.整行复制:
光标移动想要复制的那一行,输入yy即可,再把光标移动到你想要粘贴位置的上一行,输入p即可
2.多行复制:
光标移动想要复制的那几行的第一行,输入数字yy即可,再把光标移动到想要粘贴的那几行的第一行,输入p即可,
3.整行删除:
光标移动想要删除的那一行,输入dd即可,
4.多行删除:
光标移动想要删除的那几行的第一行,输入数字dd即可,
5.整行剪切:
光标移动想要剪切的那一行,输入cc即可,这个时候进入到了编辑模式,按下esc键退回到命令行模式,再把光标移动到想要粘贴位置的上一行,输入p即可,
6.多行剪切:
光标移动想要剪切的那几行的第一行,输入数字cc即可,这个时候进入到了编辑模式,按下esc键退回到命令行模式,再把光标移动到想要粘贴位置的上一行,输入p即可.
7.撤销上一步:
u
底行模式下的快捷操作
1,对第a行到第b行进行复制:
航标a,行标by,enter回车,再把光标移动到你想要粘贴位置的上一行,输入p即可
2,对第a行到第b行进行删除:
航标a,行标bd,enter回车
3.对第a行到第b行进行剪切:
航标a,行标bd,enter回车,再把光标移动到你想要粘贴位置的上一行,输入p即可
编辑一个最简单的helloworld程序,保存并退出
gcc编译器.
gcc文件名:
编译成功的话,会在当前目录生成一个a.out可执行程序
执行程序:
./a.out
当然也可以指定可执行程序的名字,命令如下:
gcc文件名-o可执行程序名
编译步骤:
1.预处理:
gcc-itest.c-otest.i(宏定义的替换,头文件包含)
2.汇编:
gcc-stest.i-otest.s(c代码转换成汇编代码)
3.编译:
gcc-ctest.s-otest.o(把汇编转换成二进制的目标程序)
5.连接:
gcctest.o-otest(连接库函数)
linux系统的库文件:
静态库:
.a结尾
动态库:
.so结尾
自己制作一个动态库.
首先写一个简单的c功能函数
编译成动态库:
gcc-fPIC-shared文件名-olib库文件名.so
在linux系统下.程序运行时默认搜素库的路径是/lib
把库拷贝到/lib下:
cplib库文件名.so/lib错误提示"
permissiondenied(权限不足)
方法:
sudocplib库文件名.so/lib提示让你输入密码1:
sudo暂时将普通用户的权限提高到root用户权限
再编译一个c应用程序,在程序中来调用库里实现的函数
gcc应用程序名-l库名(注意是去掉lib和.so的库名)
文件IO
linux系统下一切设备皆文件
open():
打开一个文件
read():
//从文件里边读出数据
write()//向文件里写入数据
close()//关闭文件
man手册:
man2函数名
open:
头文件
#include<
sys/types.h>
sys/stat.h>
fcntl.h>
1.intopen(constchar*pathname,intflags);
//仅限于打开一个已存在文件
参数1:
文件的路径
参数2:
打开方式的标志
O_RDONLY,//只读方式打开
O_WRONLY,//只写方式打开
O_RDWR.//可读可写方式打开
返回值:
打开成功:
返回一个正数(文件描述符)
打开失败:
-1
2.intopen(constchar*pathname,intflags,mode_tmode);
//可以打开一个不存在的文件
如果文件不存在必须|O_CRAET,创建该文件
参数3:
权限数比如:
0666
write:
头文件:
unistd.h>
typedefintssize_t
ssize_twrite(intfd,constvoid*buf,size_tcount);
就是open函数的返回值,文件描述符
你想要写入的数据
你想要写入的数据的字节大小
写入成功:
返回的是写入的字节大小
写入失败:
strlen:
实际长度
sizeof:
数组的大小
arduino
viodsetup()
{
端口的配置;
}
voidloop()
任务的执行;
arduino之呼吸灯实验:
intled=13;
voidsetup()
pinMode(led,OUTPUT);
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
渐变灯:
暗->
亮->
暗
PWM波:
可调脉冲宽度波.
3,5,6,9,10,11这几个端口可以输出pwm波
analogWrite(pin,value)//输出pwm波
pin:
管脚号:
3,5,6,9,10,11中的任意一个
value:
0~255中的任何一个数:
0:
占空比为0%
255:
占空比位100%
远程视频监控步骤:
1.将jpegsrc.v8b.tar.gz(图片库)
和mjpg-streamer-code-182.tar.gz(视频查看软件)
拷贝到ubuntu的家目录
2.解压缩
tarxvfjpegsrc.v8b.tar.gz
3.cdjpeg-8b
4../configure//创建Makefile文件
5.make
6.sudomakeinstall//安装
程序运行时,默认寻找的头文件的路径在/usr/include,库文件的路径/lib
cd/usr/local/include
sudocp*/usr/include
cd/usr/local/lib
sudocplibjpeg*/lib
7.切换到家目录:
cd
移植查看视频的软件:
tarxvfmjpg-streamer-code-182.tar.gz
cdmjpg-streamer-code-182
cdmjpg-st