显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

吉大释然

0101 0100 0010 1011

 
 
 
 
 
 

Lab7 跑马灯之弹弹惊魂

2013-6-15 9:59:49 阅读204 评论3 152013/06 June15

目的和要求

在RPi的Linux上做一个轮盘游戏机,具有两个按钮,一个负责启动,一个负责停止。具有某个或多个输出设备,如 LED、LED矩阵、双位7段数码管、LCD、蜂鸣器、舵机等,可任选其中一个或多个的组合。按下启动按钮,输出设备上 就出现各种变化,如流水灯、递增递减的数字、舵机的旋转等,按下停止按钮,输出设备就固定在当时的状态上。程序 运行的过程,会在shell输出数据。程序必须用C/C++语言写。实验报告要画出电路图(Frizting),说明使用的库, 附连线的照片,拍实际的视频上传到优酷并在报告中给出URL,要附源码。

至于自己的实现,就想要做一个走马灯,中间夹一个蜂鸣器充当炸弹,如果按下终止按钮时,停在了蜂鸣器上,哈哈。。。这辈子就算交代了~

准备工作 Led 6个 蜂鸣器 1个 面包板 Rpi 杜邦线、面包线管够 电路连接

电路的连接其实很简单,用两个开关做输入,控制跑马灯起止,剩余的每个部件都由一个独立的GPIO口子控制,通过GPIO输出HIGH来使能,输出LOW来关闭。

因为电阻不够,就几个设备共用了一个电阻,因为在设计上单次只点亮一个设备,所以毫无影响的。

(这里连线采用的是扇出?的方式)

计算机端代码

代码的逻辑也很简单,轮回得点亮设备,在终止按钮按下时停止即可。

#include <wiringPi.h> #include <stdio.h> #include <stdlib.h> int

作者  | 2013-6-15 9:59:49 | 阅读(204) |评论(3) | 阅读全文>>

Lab6: uC/OS II (Under Linux)

2013-6-1 11:10:17 阅读158 评论0 12013/06 June1

Goal

Transplant the uC/OS II to raspeberry Pi, using the TA's version of the transplanted. Then, implement two process which will turn on/off the LED on board

The uC/OS it self has been transplanted by out TA already, so my job is MAKE IT WORK

PrepareThe transplanted uC/OS sourceSet the cross compile env.Compile

To compile the source code:

1.change ARMGNU to your own cross compiler, for me ARMGNU ?= arm-bcm2708-linux-gnueabi

2.change the INCLUDEPATH to the ./h so the header can be found

Then it should be OK to compile. At first, there should be a lot of bugs telling you some errors while compiling.

作者  | 2013-6-1 11:10:17 | 阅读(158) |评论(0) | 阅读全文>>

实时天气监视器

2013-4-21 19:18:46 阅读156 评论0 212013/04 Apr21

这里的代码的缩进都消失了,而对于python来说缩进又是至关重要的。所以具体的代码请看代码文件

概述

虽然现在有很多的天气类应用,但是都需要后台运行、实时更新。有时候比较耗内存,而且必须联网,造成流量费用。所以想设计一个用飞信定时报告天气变化的程序。它的好处:

完全免费,不用担心流量问题定时,自由定制,按时报告安全,飞信模块采用的是模拟登录的方式,安全。还可作为模块时间提醒只用^_^方法总体框架

使用python写一个程序,从天气xml服务处抓取天气数据,整理之后比对原有的日志文件,看天气状况是否有所更新。若是,调用飞信模块向本机发送短信。

在树莓Pi上,使用linux系统的crontab命令对这个程序做一个定时任务。这样就能定期启动,查天气,发送更新的结果了。程序编写

python程序部分并不麻烦,主要是在整理收到的xml数据。

天气信息

这里采用的是webxml的天气服务。使用SOApy.WSDL获取

#Fetch the weather form Web. def __fetchWeather(self): _connection=SOAPpy.

作者  | 2013-4-21 19:18:46 | 阅读(156) |评论(0) | 阅读全文>>

Lab 3:ARM指令

2013-4-10 0:34:27 阅读149 评论0 102013/04 Apr10

ARM 与 Thumb

较新的ARM处理器有一种16-bit指令模式,叫做Thumb,也许跟每个条件式运行指令均耗用4位的情形有关。在Thumb模式下,较小的opcode有更少的功能性。例如,只有分支可以是条件式的,且许多opcode无法访问所有CPU的暂存器。然而,较短的opcode提供整体更佳的编码密度(注:意指代码在存储器中占的空间),即使有些运算需要更多的指令。特别在存储器端口或总线宽度限制在32以下的情形时,更短的Thumb opcode能更有效地使用有限的存储器带宽,因而提供比32位代码更佳的性能。典型的嵌入式硬件仅具有较小的32-bit datapath寻址范围以及其他更窄的16 bits寻址(例如Game Boy Advance)。在这种情形下,通常可行的方案是编译成Thumb代码,并自行优化一些使用(非Thumb)32位指令集的CPU相关程序区,因而能将它们置入受限的32-bit总线宽度的存储器中。维基百科

生成了Thumb指令还是ARM指令,如何通过编译参数改变

首先写一个最简单的代码

int main() { int a; a = 10; a = a + 2; }

在编译时,加上-S选项查看产生的汇编,查看产生的汇编文件

.arch armv6 .eabi_attribute 27,

作者  | 2013-4-10 0:34:27 | 阅读(149) |评论(0) | 阅读全文>>

在PC上操作、备份Raspberry Pi的SD卡

2013-3-6 0:39:28 阅读639 评论0 62013/03 Mar6

"如何在PC上修改SD里的文件和kernel image,如何将SD卡里的文件系统备份在PC的硬盘里以后可以dd?"

这两个问题,在我的linux平台非常容易解决。以下是方法:

备份Raspberry Pi SD卡

找到您的SD卡

~ sudo disk -l

...

Disk /dev/sdb: 8068 MB, 8068792320 bytes

249 heads, 62 sectors/track, 1020 cylinders, total 15759360 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00014d34

Device Boot Start End Blocks Id System

/dev/sdb1 8192 122879 57344 c W95 FAT32 (LBA)

/dev/sdb2 122880 15759359 7818240 83 Linux

作者  | 2013-3-6 0:39:28 | 阅读(639) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 

发现好博客

 
 
列表加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 

浙江省 杭州市

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018

注册 登录  
 加关注