




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 共 17 页 单片机课程设计单片机课程设计 题 目 智能小车设计 专 业 计算机科学与技术 班 级 14 级 2 班 姓名学号 组长 成员 成员 成员 成员 2016 年 12 月 23 日 第 2 页 共 17 页 打开命令行终端的快捷方式 ctr al t 默认的路径在家目录 ctr shift n 默认的路径为上一次终端所处在的路径 linux ubuntu linux 当前登录用户名 ubuntu 主机名 和 之间 当前用户所处在的工作路径 windows 下的工作路径如 C Intel Logs linux 下的工作路径是 代表的是 home linux 这个路径 家目录 ls list 列出当前路径下的文件名和目录名 ls a all 列出当前路径下的所有文件和目录名 包括了隐藏文件 当前路径 上一级路径 ls l 以横排的方式列出文件的详细信息 total 269464 当前这个路径总计所占空间的大小 单位是 K drwxr xr x 3 linux linux 4096 Dec 4 19 16 Desktop 第一个位置 代表的是文件的类型 linux 系统下的文件类型有以下几种 b 块设备文件 c 字符设备文件 d directory 目录 普通文件 l 连接文件 s 套接字文件 p 管道文件 rwxr xr x 权限 r 读权限 没有相对应的权限 w 写权限 x 可执行权限 修改权限 第 3 页 共 17 页 chmod u 或者 r w x 文件名 chmod g 或者 r w x 文件名 chmod o 或者 r w x 文件名 第一组 用户权限 第二组 用户组的权限 第三组 其他用户的权限 chmod 三个数 权限 文件名 首先根据你想要的权限生成二进制数 再根据二进制数转换成十进制的三 位数 rwxr x wx 111101011 7 5 3 chmod 753 文件名 rwx xr x 第二个位置上的数字 对应目录下的子文件个数 如果是非目录 则数字是 1 第三个位置 用户名 文件创造者 第四个位置 用户组的名字 前边的用户所处在的用户组的名字 第五个位置 对应文件所占的空间大小 单位为 b 第六 八个位置 Dec 4 19 16 时间戳 最后一次修改文件的时间 最后一个位置 文件名 操作文件 1 创建一个普通文件 touch 文件名 2 删除一个文件 rm remove 文件名 3 新建一个目录 mkdir make directory 目录名 递归创建目录 mkdir p 目录 1 目录 2 目录 3 4 删除一个目录 rmdir 目录名 仅删除一个空目录 rm rf 目录名 删除一个非空目录 5 切换目录 change directory cd 路径 linux 下的路径分两种 相对路径 以 当前路径 为起点 绝对路径 以 根目录 为起点 用相对路径的方式进入 Music cd Music 用绝对路径的方式进入 Desktop cd home linux Desktop 返回上一级 cd 返回加家目录的三种方式 1 cd 2 cd 第 4 页 共 17 页 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 sudo tee d 回车再回车即可 命令行模式下的快捷操作 1 整行复制 光标移动想要复制的那一行 输入 yy 即可 再把光标移动到你 想要粘贴位置的上一行 输入 p 即可 2 多行复制 光标移动想要复制的那几行的第一行 输入数字 yy 即可 再把 光标移动到想要粘贴的那几行的第一行 输入 p 即可 3 整行删除 光标移动想要删除的那一行 输入 dd 即可 4 多行删除 光标移动想要删除的那几行的第一行 输入数字 dd 即可 5 整行剪切 光标移动想要剪切的那一行 输入 cc 即可 这个时候进入到了 编辑模式 按下 esc 键退回到命令行模式 再把光标移动到想要粘贴位置的 上一行 输入 p 即可 第 5 页 共 17 页 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 即可 编辑一个最简单的 hello world 程序 保存并退出 gcc 编译器 gcc 文件名 编译成功的话 会在当前目录生成一个 a out 可执行程序 执行程序 a out 当然也可以指定可执行程序的名字 命令如下 gcc 文件名 o 可执行程序名 编译步骤 1 预处理 gcc i test c o test i 宏定义的替换 头文件包含 2 汇编 gcc s test i o test s c 代码转换成汇编代码 3 编译 gcc c test s o test o 把汇编转换成二进制的目标程序 5 连接 gcc test o o test 连接库函数 linux 系统的库文件 静态库 a 结尾 动态库 so 结尾 自己制作一个动态库 首先写一个简单的 c 功能函数 编译成动态库 gcc fPIC shared 文件名 o lib 库文件名 so 在 linux 系统下 程序运行时默认搜素库的路径是 lib 把库拷贝到 lib 下 cp lib 库文件名 so lib 错误提示 permission denied 权限不足 方法 sudo cp lib 库文件名 so lib 提示让你输入密码 1 sudo 暂时将普通用户 的权限提高到 root 用户权限 第 6 页 共 17 页 再编译一个 c 应用程序 在程序中来调用库里实现的函数 gcc 应用程序名 l 库名 注意是去掉 lib 和 so 的库名 文件 IO linux 系统下一切设备皆文件 操作文件 open 打开一个文件 read 从文件里边读出数据 write 向文件里写入数据 close 关闭文件 man 手册 man 2 函数名 open 头文件 include include include 1 int open const char pathname int flags 仅限于打开一个已存 在文件 参数 1 文件的路径 参数 2 打开方式的标志 O RDONLY 只读方式打开 O WRONLY 只写方式打开 O RDWR 可读可写方式打开 返回值 打开成功 返回一个正数 文件描述符 打开失败 1 2 int open const char pathname int flags mode t mode 可以 打开一个不存在的文件 参数 1 文件的路径 参数 2 打开方式的标志 O RDONLY 只读方式打开 第 7 页 共 17 页 O WRONLY 只写方式打开 O RDWR 可读可写方式打开 如果文件不存在必须 O CRAET 创建该文件 参数 3 权限 数 比如 0666 返回值 打开成功 返回一个正数 文件描述符 打开失败 1 write 头文件 include typedef int ssize t ssize t write int fd const void buf size t count 参数 1 就是 open 函数的返回值 文件描述符 参数 2 你想要写入的数据 参数 3 你想要写入的数据的字节大小 返回值 写入成功 返回的是写入的字节大小 写入失败 1 strlen 实际长度 sizeof 数组的大小 arduino viod setup 端口的配置 void loop 任务的执行 第 8 页 共 17 页 arduino 之呼吸灯实验 int led 13 void setup pinMode led OUTPUT void loop digitalWrite led HIGH delay 1000 digitalWrite led LOW delay 1000 渐变灯 暗 亮 暗 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 解压缩 tar xvf jpegsrc v8b tar gz 3 cd jpeg 8b 4 configure 创建 Makefile 文件 5 make 6 sudo make install 安装 程序运行时 默认寻找的头文件的路径在 usr include 库文件的路径 lib cd usr local include sudo cp usr include cd usr local lib 第 9 页 共 17 页 sudo cp libjpeg lib 7 切换到家目录 cd 移植查看视频的软件 tar xvf mjpg streamer code 182 tar gz cd mjpg streamer code 182 cd mjpg streamer make clean 清除已经编译过的程序 make 运行查看视频的软件 sudo start sh 打开火狐浏览器 在地址栏输入 127 0 0 1 8080 若发现视频绿屏 先强制结束程序运行 ctl c 解决方法 修改 start sh 将第 30 行的 y 删除 看看是否虚拟机识别到摄像头 ls dev video0 地址栏输入 127 0 0 1 8080 action stream 查看视频信息 127 0 0 1 8080 action snapshot 截屏图片 点击 save image as 可以保存图片 A8 开发板 cpu 三星 s5pc100 内存 256M flash 256M windows 运行之前会有一个系统的引导代码叫 BIOS 与 windows 类似 linux 启动之前也有这样的一段代码叫做 bootloader bootloader 有很多种 我们选用其中的一种叫做 uboot linux 系统的启动步骤 1 运行 uboot 初始化硬件 引导系统内核的加载 2 内核的运行 zImage linux 的内核 3 识别文件系统 类似于 C 盘 D 盘 E 盘 是 rootfs tgz 系统 内核 文件系统 挂载系统 第 10 页 共 17 页 要对 uboot 环境信息进行设置 首先把拨码开关拨到 0000 位置 选择 uboot 的启动方式 uboot 从外存启动 1 找到自己的 COM 端口号 打开 putty 2 选中 Serial 把波特率改为 115200 端口号改为自己的端口号 Flow contrlo 选择 none 3 开启电源 会出现一个倒计时 在倒计时完成之前 随便敲一个键盘 4 输入命令 print 可以显示 uboot 的打印信息 确保 ipaddr 192 168 1 100 代表开发板的 ip 地址 serverip 192 168 1 200 代表 ubuntu 的 IP 地址 bootargs root nfs nfsroot 192 168 1 200 source rootfs ip 192 168 1 100 init linuxrc console ttySAC0 115200 打开虚拟机 1 进入到 tftpboot 目录下 把 zImage 拖到虚拟机 前加 cp 后加 使用 ls 查看一下是否出现 zImage 2 cd source 把 rootfs 这个压缩包拖到虚拟机 前加 cp 后加 使用 ls 查看一下是否出现 rootfs tgz 3 解压命令 sudo tar xvf rootfs tgz 要让你输入密码 输入 1 回车即可 密码是不可见的 再用 ls 查看是否多了一个蓝色的文件 rootfs 4 修改 ubuntu 的 ip 地址 找到 wiffi 图标 点击选中 edit connection IPV4 seting manual add ip netmask gateway 192 168 1 200 255 255 255 0 192 168 1 1 点击保存 关闭窗口 再打开图标选中 wired connection1 再看 ip 是否改 回来了 5 网线连接开发板和电脑 在 putty 界面输入 ping 192 168 1 200 如果 host 192 168 1 200 is alive 这是挂载系统很好的征兆 not alive 的话需要关闭电脑的无线网 输入 boot 或者重启开发板不要再按下任何键了 如果出现 第 11 页 共 17 页 很快就要挂载成功了 如果出现 TTTTTTTTTTTTTT 在 ubuntu 输入命令 sudo service tftpd hpa restart 其中 sudo 的作用是暂时将用户的权限提升到超级用户 root 的权限 如果出现 Please press Enter to activate this console 代表系统挂载 成功 通过 gcc 编译生成的程序不能在开发板上运行 通过命令 file a out 看到文件的格式为 intel 30386 说明这是 X86 格式 的程序 只能 PC 上运行 而不能在 arm 板上运行 解决措施 使用交叉编译器来编译 交叉编译器的配置 将 arm cortex a8 linux gnueabi tar bz2 拖到 ubuntu 的家目录 解压命令 tar xvf arm cor tab 键自动补齐 用 ls 查看是否生成 arm cortex a8 个目录 配置交叉编译器 sudo vi etc bash bashrc 文件 在最后一行添加 export PATH PATH home linux arm cortex a8 bin 保存并退出文件 保存完成后重启文件 source etc bash bashrc 重启成功后输入 arm cor tab 键会自动补齐成 arm cortex a8 linux gnueabi 代表交叉编译器配置成功 利用交叉编译器编译程序 arm cortex a8 linux gnueabi gcc 文件名 并将生成的可执行程序拷贝 到 source rootfs 下 然后再到 putty 上执行 a out 就可以在开发板上运行程序了 第 12 页 共 17 页 相关代码 Che c include cgic h include include include include include void zigbee serial init int fd struct termios options tcgetattr fd options c cflag CLOCAL CREAD options c cflag options c cflag options c cflag CS8 options c cflag options c iflag IGNPAR options c iflag options c cc VTIME 2 options c cc VMIN 12 options c oflag 0 options c lflag 0 cfsetispeed cfsetospeed tcsetattr fd TCSANOW 第 13 页 共 17 页 int cgiMain int fd char a 1 cgiHeaderContentType text html n n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut SMART CAR n fprintf cgiOut n fprintf cgiOut fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fprintf cgiOut n fd open dev ttyUSB0 O RDWR if 1 fd fprintf cgiOut open usart failed n 第 14 页 共 17 页 zigbee serial init fd if cgiFormSuccess cgiFormSubmitClicked up a 2 write fd if cgiFormSuccess cgiFormSubmitClicked down a 1 write fd if cgiFormSuccess cgiFormSubmitClicked right a 4 write fd if cgiFormSuccess cgiFormSubmitClicked left a 3 write fd if cgiFormSuccess cgiFormSubmitClicked stop a 0 write fd fprintf cgiOut n fprintf cgiOut n close fd return 0 第 15 页 共 17 页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行写作比赛试题及答案
- 文秘专业试题及答案
- 化水专业试题及答案
- 新闻专业笔试题及答案
- 幼儿文学专业试题及答案
- 林业专业知识考试试题及答案
- 湖北省汉川市金益高级中学2025-2026学年高二上学期9月起点考试英语试卷(解析版)
- 电路专业笔试题目及答案
- 广东省汕头市潮阳区六校2024-2025学年八年级下学期5月月考地理试卷(含答案)
- 客厅吊顶平顶施工方案
- 2024年药品监管业务知识技能竞赛考试题库(含答案)
- 试油hse管理制度
- 疼痛科质量控制管理
- 市(县)级温室气体排放源、排放清单报告模板
- 《出境旅游领队实务》课件项目一
- 低空经济八大应用场景与实践案例解析方案
- 养殖水产日常管理制度
- 门窗定制安装合同范本
- l临床医生三基考试试题及答案
- 呼吸管路处理规范与操作要点
- 《奇异空间》课件 -2024-2025学年湘美版(2024)初中美术七年级下册
评论
0/150
提交评论