Register

  • 点击获取
  •   

已有账号直接登录    

公告:

热门文章 C语言入门十个小实验

时间:2016-7-16 作者:RainFly   分类: C语言入门视频教程   热度: 12339°  评论:4  
时间:2016-7-16   分类: C语言入门视频教程    热度:12339   评论:4

你能想到的,C语言都能搞,可以说是无所不能,把C学好,上手其他语言也会事半功倍。题主只是还没有入门,只看教程不动手永远学不会,推荐10个C的入门小项目,由易到难,开始动手做一些常见的小东西吧。 实验1.C/C++ - C语言制作简单计算器  用C语言做一个简单的计算器,进行加、减、乘、除操作。项目涉及的所有数学知识都很简单,但输入过程会增加复杂性。

实验2.C/C++ - C语言制作2048

2048是之前十分火爆的一款益智游戏。项目将使用 C 语言完成一个2048游戏。

实验3.C/C++ - C语言版flappy_bird

Flappy Bird 是之前十分热门的小游戏,后来出现多个衍生版本。项目将使用 C 语言来实现一个字符版 Flappy Bird,感受不一样的风采。

实验4.C/C++ - C语言版扫雷游戏

扫雷是Window系统中自带的经典游戏。项目将使用 C 语言完成一个简单的扫雷游戏。

实验5.C/C++ - C语言编写万年历 本次课程将使用 C 语言完成一个简单的日历功能。输入相应的年/月即可看到当月的日历。 实验6.C/C++ - C语言快速实现五子棋 用最最简单的代码来实现五子棋游戏,帮助大家复习基础知识,了解一个项目的开发流程。 实验7.C/C++ - C语言模拟ATM自动取款机系统 用 C 语言实现简单模拟 ATM 自动取款机的查询、存款、取款等功能。效果为在终端下的字符界面。 实验8.C/C++ - C语言利用epoll实现高并发聊天室 实现客户端和服务端编程,服务端使用epoll机制,高并发必备,支持多客户聊天室聊天;客户端使用epoll和fork,父进程与子进程通过pipe通信。 实验9.C/C++ - C语言实现一个支持PHP的简易WEB服务器 本项目课主要用C语言实现一个简易的WEB服务器,并能支持动态解析PHP程序。 实验10.C/C++ - C语言实现ping程序 本项目带领你学习用C语言实现ping命令。通过本项目中你可以更深入地理解TCP/IP协议,掌握C语言进行网络编程的技巧方法。

热门文章 可以直接看电视直播的APP和PC软件

时间:2016-7-12 作者:RainFly   分类: 软件分享   热度: 13742°  评论:1  
时间:2016-7-12   分类: 软件分享    热度:13742   评论:1

 

                       如今互联网已经很普及了,便宜的宽带费用已经使很多家庭,取消了昂贵的数字电视费,而现在的很多电视盒子都不带看高清直播频道,电脑上面也很少有相关应用和web可以直接在线观看的,笔者花了点时间,找了一个免费的应用,按照作者说的基本上是终身维护,而且一直免费,只是希望大家用的好多多赞助支持。

            小薇直播是一款全聚合直播软件,使用非常方便快捷,运行于智能电视盒或者智能电视;附带有300+个直播频道,24小时专人维护,带有7天国内卫视回看,电视在线收藏,P2P直播协议支持,操作简单功能齐全,老人使用方便,无需任何设置 下载即可使用上手。

以下提供app和Windows应用下载

http://www.xiaoweizhibo.com/download/xiaoweizhibo-2.2.6.apk

电视直播应用来源:360网盘  | 大小:10MB  | 提取密码:a016 | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。

热门文章 DHCP:解析开发板上动态获取ip的2种实现方法详解

时间:2016-7-10 作者:RainFly   分类: Linux嵌入式   热度: 6686°  评论:1  
时间:2016-7-10   分类: Linux嵌入式    热度:6686   评论:1

本篇文章是对开发板上动态获取ip的2种实现方法进行了详细的分析介绍,需要的朋友参考下 动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途: 1.给内部网络或网络服务供应商自动分配IP地址 2.给用户给内部网络管理员作为对所有计算机作中央管理的手段。 方法一:dhclient     1.下载     https://www.isc.org/software/dhcp/ 2.解压     tar-zxvf dhcp-3.1.3.tar.gz 3.配置     cddhcp-3.1.3     ./configure     成功之后生成work.linux-2.2文件夹. 4.编译     make "CC=/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/usr/bin/arm-hismall-linux-gcc-static"     可以在work.linux-2.2/client目录,也可以在dhcp-3.1.3目录下make, 5.拷贝     在work.linux-2.2\client编译生成dhclient。     拷贝配置文件dhcp-3.1.3/client/dhclient.conf和/dhcp-3.1.3/client/scripts/linux 到开发板的/sbin/目录下,并linux文件重命名为dhclient-script,并修改该文件的第一行#! /bin/bash 为#! /bin/sh,保存后,修改权限 chmod +x /sbin/dhclient-script 6.创建目录     mkdir-p /var/state/dhcp     在/var目录下创建state目录,再在state目录下创建dhcp目录。 7.运行     dhclient ra0

方法二、udhcpc udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微- DHCP -客户端(μDHCPc)。 1.udhcpc -i eth0 udhcpc只是获取一个IP,我们需要把\busybox-1.1.2\examples\udhcp下的脚本simple.script改名为default.script,放在开发板上的/usr/share/dhcpc/目录下,才能将获取的IP写到指定的网卡中。 2.ifconfig

文章转载:http://www.jb51.net/article/37379.htm

热门文章 移植OpenSSH到Easy-ARM9 Linux开发板

时间:2016-7-10 作者:RainFly   分类: Linux嵌入式   热度: 11439°  评论:2  
时间:2016-7-10   分类: Linux嵌入式    热度:11439   评论:2

      EasyARM-iMX283 以前版本的SSH服务器移植的有些问题,可以登录但是不能传文件,每次都要用NFS挂载,实在麻烦,继而折腾了一下,重新编译移植了一下SHH服务。

热门文章 Easy-ARM IMX283移植TP-LinkW823N无线网卡驱动

时间:2016-5-22 作者:RainFly   分类: Linux嵌入式   热度: 14335°  评论:3  
时间:2016-5-22   分类: Linux嵌入式    热度:14335   评论:3

实验材料  (所有下载资源在文章页尾提供)

1,AMR9开发板(周立功的imx283)

2.  SUB网卡 (TP-link WN823N) 300M迷你型无线USB网卡       

3. rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911    网卡驱动        

4,Ubuntu宿主机 (配置好交叉编译环境)      

安装步骤:

先在宿主机中解压网卡驱动,官网上面提供的文件包目录  \0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911\RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911\driver\rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911\rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911\打开之后对应的驱动程序就可以看到了

首先将USB网卡插上  输入lsusb之后,查看对应的编码 我这输出对应的ID是 0bda  818b    

对应的芯片是RTL 8192EU芯片   去官网下载了驱动之后,可以跳过以下步骤,USB依然可以识别出来 不必再添加usb_intf.c 的设备PID

打开RTL8188C_8192飞USB_linux_v4.0.2_9000.20130911 I driver I rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911 I os_dep I linux I usb_intf.c,将usb_intf.c 这个文件打开,找到下面这个地方,修改添加对应的ID  (注意它注释是否对应芯片编号8182EU此图上写的是8192eu,有些USB端口已经给出了)

以上步骤在Linux可以识别USB网卡的时候可以跳过,如不能识别添加

然后打开Makefile

选择一个 编译架构(i386 ,ARM之类的) 

将后面的 n改成y (其实无所谓哪一种后面修改一下交叉编译器即可)

修改源代码对应路径(linux内核源代码需要先编译,否则会出现无对应文件和目录),交叉编译器对应路径,之后保存即可, 然后记得在Makefile前面选择生成了

然后执行make 命令, 生成 xxxx.ko文件 ,拷贝至开发板,安装驱动模块, insmod   8192eu.ko

发现开发板没有 iwconfig 命令 ,在利用下载好的wireless_tools_29.tar 解压到宿主机,修改Makefile中 AR GCC的参数,交叉工具链和源代码路径,make之后得到iwconfig等命令,将命令全部复制到开发板 /bin  (此为root)用户  普通用户/usr/bin  ,目录下面 ,将动态链接库libiw.so.29 文件,复制到开发 /lib 文件夹中,否则将会报错,丢失libiw.so.29文件

其中遇到问题重新烧写内核,仍然未解决掉。

#sudo apt-get install u-boot-tools

然后make uImage 在 /arch/arm/boot 目录下面找到uiamge 烧写到开发板

查看是否安装成功

插上USB网卡,若未加载驱动,则出现不支持此设备,

将iw命令全部复制到开发板上后可以, 开启网卡  ifconfig wlan0 up 

成功打开出现

root@EasyARM-iMX283 /# ifconfig wlan0 up RTL871X: +871x_drv - drv_open, bup=0 RTL871X: ==>_InitPowerOn8192EU RTL871X: ===> FirmwareDownload88E() fw source from Header. RTL871X: ===> Firmware for NIC fw:FirmwareDownload8192E, size: 31990 RTL871X: FirmwareDownload8192E: fw_ver=4 fw_subver=1 sig=0x92e1 RTL871X: _FWFreeToGo8192E: Checksum report OK! REG_MCUFWDL:0x00070304 RTL871X: =====> _8051Reset88E(): 8051 reset success . RTL871X: _FWFreeToGo8192E: Polling FW ready success!! REG_MCUFWDL:0x000706c6 RTL871X: ===> phy_BB8192E_Config_ParaFile() EEPROMRegulatory 1 RTL871X: PHY_BBConfig8192E ==> CrystalCap:0x22

可以正常使用了

Wireless tools for Linux介绍 Wireless tools for Linux是一个Linux命令行工具包,用来设置支持Linux Wireless Extension的无线设备。Wireless tools for Linux 和 Linux Wireless Extension 由 Jean Tourrilhes在维护,由Hewlett-Packard(HP惠普)赞助。 大多数基于Linux内核的操作系统都包含Wireless tools。在许多GNU/Linux 发行版中,都缺省安装这个工具包,即使是没有自动安装,也能很容易地找到其二进制代码安装包。 Wireless Extension (WE)是一组通用的API,能在用户空间对通用Wireless LANs进行配置和统计。它的好处在于仅通过一组单一的工具就能对各种各样的Wireless LANs进行管理,不过它们是什么类型,只要其驱动支持Wireless Extension就行;另一个好处就是不用重启驱动或Linux就能改变这些参数。        Wireless Tools (WT)就是用来操作Wireless Extensions的工具集,它们使用字符界面,虽然粗糙,但支持所有Wireless Extension。虽然还有很多其他管理Wireless Extensions的工具,但Wireless Tools是参考实现,它包括以下工具:         iwconfig:设置基本无线参数         iwlist:扫描、列出频率,比特率,密钥等         iwspy:获取每个节点链接的质量         iwpriv:操作Wireless Extensions 特定驱动         ifrename: 基于各种静态标准命名接口 大多数 Linux 发行版本都在其网络初始化脚本中集成Wireless Extension,以便启动时配置无线接口。他们还将Wireless Tools作为其标准封装包。 无线配置也可以使用hotplug或uDev脚本来完成,需要发行版特定的支持,这样能支持任何可移动的无线接口(Pcmcia,CardBus,USB接口...)。 Wireless Tools(从版本19)开始完全支持IEEE 802.11标准参数和设备,支持旧风格的设备和最专有协议,并准备处理HiperLan。较新版本增加了更多802.11支持。但不幸的是,并非所有的驱动程序支持所有这些功能。 最新的稳定版本的Wireless Tools是版本29,大多数愚蠢的错误已被删除,并支持所有的Wireless Extension(从版本v11至v21)。可以从http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz下载最新的Wireless Tools。     我们经常会用到的主要是iwlist、iwconfig、 iwpriv: iwlist的使用 命令行:(ap不需要验证密码) iwlist mlan0 scan //搜索ap iwconfig mlan0 essid “linksys” //连接ap udhcpc –i mlan0  //获得动态IP   命令行:(ap需要验证密码) iwlist mlan0 scan //搜索ap iwconfig mlan0 key  xxxxxxxxxx  // 输入验证密码 iwconfig mlan0 key open //密码验证功能打开 iwconfig mlan0 essid “linksys” //连接ap udhcpc –i mlan0 //获得动态IP

链接完成后需要设置一下 自动获取IP地址

DHCP或者udhcpc   关于这两个动态获取IP地址   

关于上面两种动态获取IP安装客户端,自动链接: http://www.rainfly.cn/?post=190

查看IP: ifconfig wlan0 设置IP: ifconfig wlan0 10.3.1.74 把IP: 129.158.215.204 , netmask: 255.255.255.0分配给rh0, # ifconfig rh0 129.158.215.204 netmask 255.255.255.0 获取IP; ifconfig wlan0 dhcp start (从wlan0走,不需要ip即可dhcp) udhcpc -i wlan0     udhcpc --help

相关文件来源:360网盘  | 大小:MB  | 提取密码:18a6 | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。          若链接失效可联系管理员!

热门文章 ARM9 触摸校准,鼠标驱动

时间:2016-5-22 作者:RainFly   分类: Linux嵌入式   热度: 9699°  评论:1  
时间:2016-5-22   分类: Linux嵌入式    热度:9699   评论:1

前段时间被触摸屏校准弄得摸不着头脑,网上的资料对我的移植都不具有可操作性。尽管如此,我还是很感谢网络,上面有几个网页给了我很大的启示,估计做触摸屏校准的都会首先搜到这些网页一睹究竟。其中,一篇最全的竟然是武大的一位女士写的,让我佩服不已。可能受这些优秀的网友的启发吧,我在经过连续三天的奋战后,终于校准成功,并将生成的pointercal校准文件放到移植的系统中,触摸屏正常工作了。现在把碰到的问题及解决方法写在这里,供各位网友参考。 1.tslib-1.3 选用的校准程序就是网上比较流行的这个版本,下载出处可以到武大的那位朋友那里下载,基本能用。如果想从我这里得到,可以把信箱留下共同讨论。 2.准备工作 在移植tslib前,首先需要将linux移植好,并载入合适的文件系统(呵呵,此处有点废话了)。我使用的文件系统是实验板自带的MyRootfs.cramfs系统,移植成功后,使用minicom看触摸屏设备文件是什么。方法是:通过打开/dev/下touchscreen文件夹(这是触摸屏驱动自动生成的文件),看里面的文件是哪个。我的设备文件是:/dev/touchscreen/0,/dev/h3600_tsraw,/dev/h3600_ts,这对后续的环境变量设置有重要用途。当然,所用实验板不同,此设备文件亦不同,大家需要注意了解自己的系统即可。 知道触摸屏的设备文件后,要保证移植的系统在上电运行时,没有打开任何应用程序——或者说只是单纯的运行系统,即所产生的现象是只有那只企鹅孤零零的呆在你的LCD的左上角。这时就可以开始安装tslib-1.3了。 3.安装tsilib 设置好CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc CXX=/usr/local/arm/2.95.3/bin/arm-linux-g++ 使用./autogen.sh生成configure文件,并运行 ./configure --host=arm-linux --target=arm-linux --prefix=$PWD/build --enable-inputapi=no 修改src/ts_read_raw.c中的char *defaulttseventtype="H3600",因为我的触摸屏驱动对应此结构。 make make install 将生成的build文件夹全部拷入一个可以作为nfs挂接的文件夹下。我的是拷到自己的文件系统中的/root/tslib 目录下(mkdir 生成)。 4.nfs挂接 打开nfs服务后,在minicom中mount -t nfs -o nolock 10.0.0.10:/root/Myjob/MyRootfs/root /tmp (此处tmp是目标文件系统上的临时文件夹) 5.环境变量设置 当nfs挂接成功后,就能够在minicom中看到挂接的/tmp/root/tslib/build,此时 cd build  #开始设置环境变量 /tmp/root/tslib # export V_ROOT=/tmp/root/tslib/build /tmp/root/tslib # export TSLIB_CONSOLEDEVICE=none /tmp/root/tslib # export TSLIB_FBDEVICE=/dev/fb0 /tmp/root/tslib # export TSLIB_TSDEVICE=/dev/touchscreen/0  /tmp/root/tslib # export TSLIB_CALIBFILE=$V_ROOT/etc/pointercal /tmp/root/tslib # export TSLIB_CONFFILE=$V_ROOT/etc/ts.conf /tmp/root/tslib # export TSLIB_PLUGINDIR=$V_ROOT/share/ts/plugins /tmp/root/tslib # export QWS_MOUSE_PROTO=TPanel:/dev/touchscreen/0 /tmp/root/tslib # export LD_LIBRARY_PATH=$V_ROOT/lib /tmp/root/tslib # ln -s /dev/touchscreen/0 /dev/h3600_tsraw /tmp/root/tslib # ln -s /dev/fb/0 /dev/fb0 /tmp/root/tslib/build/bin/ # ./ts_calibrate   此时就可以使用5点校准了。生成的文件放在哪里可以从环境变量TSLIB_CALIBFILE处得到。将这个文件拷出,就可以使用了。

热门文章 会声会影x9旗舰版安装破解汉化教程(附上安装包+注册机+汉化包)

时间:2016-4-4 作者:RainFly   分类: 软件分享   热度: 471364°  评论:2955  
时间:2016-4-4   分类: 软件分享    热度:471364   评论:2955

       博客很久没有更新会声会影的资源了,部分网站或许早就出了会声会影x9的破解教程,可惜需要各种金币权限才下载相应的资源(本文附上相应资源在文章末尾,追加了视频教程),注册机也由于版权问题被禁止了,博主花了少许时间从外面的世界找到了x9的资源,当然只是为了试用一下新功能,不做任何商业用途,关于文章侵权问题可以联系我,也请大家支持正版,试用期结束购买试用权!尊重每个人的知识产权!

    废话不多说切入正题。

     会声会影是较为实用的一款视频后期处理工具,会声会影x9是x8的升级版本,可以完美兼容windows10操作系统,本专题为您提供会声会影X9注册机序列号以及相关汉化包下载和使用教程,安装后就可以对拍摄的视频进行编辑了。 主要特色:

     它不仅符合家庭或个人所需的影片剪辑功能,甚至可以挑战专业级的影片剪辑软件。适合普通大众使用,操作简单易懂,界面简洁明快。该软件具有成批转换功能与捕获格式完整的特点,虽然无法与EDIUS,Adobe Premiere,Adobe After Effects和Sony Vegas等专业视频处理软件媲美,但以简单易用、功能丰富的作风赢得了良好的口碑,在国内的普及度较高。 影片制作向导模式,只要三个步骤就可快速做出DV影片,入门新手也可以在短时间内体验影片剪辑;同时会声会影编辑模式从捕获、剪接、转场、特效、覆叠、字幕、配乐,到刻录,全方位剪辑出好莱坞级的家庭电影。 其成批转换功能与捕获格式完整支持,让剪辑影片更快、更有效率;画面特写镜头与对象创意覆叠,可随意作出新奇百变的创意效果;配乐大师与杜比AC3支持,让影片配乐更精准、更立体;同时酷炫的128组影片转场、37 组视频滤镜、76种标题动画等丰富效果。

安装步骤

    第一步:下载相应的资源文件并加压到C盘以外的盘符

    第二步:打开setup文件夹中的setup.exe程序

   

    第三步:打开相应版本的注册机 选择好软件版本内型x9 ,复制serial number

   接下来一直默认next,注意选择一下安装目录(建议直接将C盘符改为D.E或F),其他选项可以选择性取舍。

    第四步:等待安装完成,进行破解汉化

(注意安装过程中偶尔会出现error 1406等等之类的错误,请将杀毒软件关闭,如果还不行或许以前装过的版本没有清理掉注册表,清理下一即可)

破解步骤

    第一步:在桌面运行Corel VideoStudio X9 快捷方式,选择稍后注册(注意这里需要断开网络操作了)

打开后即可看到以下界面 选择register later 稍后注册 点击继续 

    

    第二步:进入界面后关闭软件,会自动弹出一个购买页面选择已经购买(Already Purchased?)

    第三步:打开注册机选择相应的版本号 x9   有一串serial number 号码 将其填入下面的表格后 点击致电(contact coreal)  

    第四步:将安装代码(installation code)填入注册机中 点击generate activation code 将生成的activation code 复制到相应位置,点击继续continue

 

    第五步:完成激活,保存打印证书

汉化过程

觉得英文版不影响使用可以跳过接下来的步骤,所有安装破解基本完成,当然也许有部分人用不惯,所有也提供了汉化包给大家破解。

第一步:打开对应版本的汉化包,选择下一步,接受条件,注意一些选项!

    这也就汉化完成了,启动X9查看吧

 

会声会影官方卸载删除工具下载:http://www.rainfly.cn/?post=224

此处内容已隐藏

 

下载之前请先看视频教程链接 ->  点击这儿

会声会影X9旗舰版来源:百度网盘  | 大小:1024MB  | 提取密码:wjmg | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。 汉化包+注册机来源:汉化包+注册机  | 大小:30MBMB  | 提取密码:5cmv | 解压密码:www.rainfly.cn 已经过安全软件检测无毒,请您放心下载。          若链接失效可联系管理员!

热门文章 2016迅游加速器破解版

时间:2016-4-3 作者:RainFly   分类: 软件分享   热度: 28820°  评论:124  
时间:2016-4-3   分类: 软件分享    热度:28820   评论:124

   迅游2016最新破解版是一款功能强大的游戏加速神器,你可以在这里对市面各类主流游戏进行修改,破解其收费限制,此版本2016最新版本,由吾爱破解,是您最佳的游戏加速器选择。

破解使用说明

以下操作不准错,否则破解不了,特别是第一步!

请先关杀毒再破解,破解成功后再开杀毒软件!

第一步:先解压成文件夹在桌面,必须是桌面!

(特别注意必须是9.16文件一点进去就有很多东西那种,而不是一点进去还有个9.16文件!) 第二步:运行:第一次运行请点我! 第三步:=运行xunyou (只打开,什么都别动) 第四步:管理员运行替补补丁,点破解,然后点完毕,关闭补丁(XP直接运行) 第五步:选好游戏,区,启动加速! 特别是第一步(内容看好)

每次都必须重解压,然后按上面操作!(重解压是第一次下载的压缩包)

小编点评

善用清理讯游注册表哦,其他失效版本都可能从新复活加速。

此处内容已隐藏

热门文章 如何接收国外的电话和短信验证

时间:2016-3-24 作者:RainFly   分类: 随手乱写   热度: 72641°  评论:5  
时间:2016-3-24   分类: 随手乱写    热度:72641   评论:5

     今天在申请试用国外一个免费空间时又遇到了电话短信验证的问题,之前部落也分享过不少的国外免费电话,例如:TextNow、Pinger等都非常不错的免费电话服务,以前在申请免费VPS主机和免费空间时我们成功用这些免费网络电话通过了国外空间商的短信和电话验证。 但是有些空间商为了保护自己的免费资源不被滥用,设置更加苛刻的电话短信验证条件,我们都知道像Virtual Phone Line、Voxox这样的电话服务只能算是网络电话,还不是传统意义上的手机电话,因此难免不出现一些验证失败的情况,再加上被人用的太多也容易导致被识别而通不过验证。 因此,本文就来为大家搜集整理一下国外的免费电话,因为不少的国外电话官网打开缓慢,大家在申请试用时一定要有足够的耐心。 国外免费电话搜集整理:接收国外验证短信、语音电话和拨打国际长途电话 一、Google Voice 和 Hangouts 环聊 1、Google Voice 官网:

官方网站:https://www.google.com/voice

环聊网站:https://hangouts.google.com/

2、Google Voice 由Google推出的VOIP服务,能够将个人所用的众多电话号码集中成为一个号码。对国内用户来说,Google Voice 提供了一个美国电话号码,这个号码可以用来接收国外的短信和语音电话,且可以转接到国内的手机上。

3、Hangouts 环聊是Google的即时通讯和视频聊天应用,在2013年5月15日期间的Google I/O发布,取代 Google Talk(Gtalk)。支持Android、iOS以及Chrome多平台,并在Gmail、Google+中集成环聊网页版。有传言Google Voice 将会被谷歌整合到Hangouts 环聊。

4、申请Google Voice有一个难点就是:Google Voice注册过程中要求一个美国电话号码用来接听验证语音。这个我们可以通过部落已经分享的的Groovytel 、Virtual Phone Line 来解决。 二、Pinger和Textfree 免费短信和电话 1、Pinger官网: 官方网站:http://www.pinger.com/ Textfree:http://www.pinger.com/tfw/ 2、TextFree是由Pinger开发的一款手机应用,允许用户通过真实的手机号码免费收发手机短信,拨打免费电话。Pinger提供了美国不同地方的电话号码,每个人可以免费申请一个,可以用来接收国外短信和语音信息。

3、Pinger提供的手机应用软件和在线网页版本,Pinger在线网页版本可以收取短信和语音,Pinger的TextFree应用在国外比较流行,国内上手难度不高,因此用TextFree去申请国外电话验证的人比较多。

三、 Textnow 免费接收国外短信电话 1、Textnow 官网: 官方网站:http://www.textnow.com/ 2、TextNow可以在美国和加拿大免费接收和发送短信,和Pinger一样有网页版,也有手机应用版本,可以在APP Store、Google Play和Windows Phone中下载TextNow应用。

3、TextNow注册比较简单,但是直接使用国内IP来注册账号会提示失败。注册成功后会自动分配一个美国电话号码给你了,这个号码就可以用来接收短信验证了。

四、Sonetel 欧洲国家美国免费电话 1、Sonetel 官网: 官方网站:http://sonetel.com/ 2、Sonetel是一家瑞典公司,数据中心在美国和欧洲总部。注册Sonetel可以获得一个免费的虚拟号码试用,无需验证,直接跳转到Sonetel帐户。你可以自己选择美国、欧洲国家等号码。 3、Sonetel目前提供了中文语言,有Android和苹果OS版本,进入到Sonetel后直接点击免费申请试用。

4、然后选择一个国家的号码,这里可以看到有美国、法国、德国、加拿大、中国、韩国等上百个国家的电话号码可供选择。

5、美国的电话可以精细到哪个一个州的,选择好了后点击下一步,确定。

6、接下来输入你的邮箱和手机号码注册,这个手机号码是用来转接Sonetel的电话的,所以一定要准确。

7、添加后,Sonetel会向你的手机号码打来语音电话,是自动播音的那种,会告诉你验证码。听不懂英语没有关系,Sonetel还会往你的手机发送短信验证码。

8、验证手机成功后,接下来就是填写Sonetel账号和密码了。

9、登录到Sonetel,就可以看到已经给出了一个免费试用的电话号码了,试用之后这个电话号码是付费的。

10、现在你可以下载安装运行手机客户端,并用你的Email地址和默认的密码sonetel登陆,然后就可以接收国外的电话,同时也可以拨打国外的电话,注意免费试用时长有一定的限制。

五、TextMe 免费短信和国外电话 1、TextMe 官网: 官方首页:https://go-text.me/ 2、TextMe 可适用于iPhone、iPad、iPod, Android智能手机、Android平板电脑和 Window的电话。TextMe应用本身和应用内通信是免费的,给非TextMe用户打电话则是收费服务,TextMe 会给 iPod 用户分配的电话号码也是美国本土号码。

3、TextMe支持给国外的用户发送短信,不过目前TextMe需要做任务来赚钱一定的积分,由于网络的原因TextMe在国内部分地区可能无法正常使用,只能是做为一个备选的应用工具。(点击放大)

六、国外免费电话使用小结 1、国外免费电话的APP应用非常多,但是可以免费获取一个美国或者国外其它国家的电话号码比较少,上面介绍了几款免费国外电话都提供了免费试用服务,打电话可能太贵,但是用来接收国外空间商的短信验证码还是可以的。

2、使用国外的免费电话应用时需要到Google Play下载安装,Google Play目前是无法访问的,有的即便是成功打开也要输入Google账号登录下载才能安装,真是够为难了。这里整理出了国外几个自动生成Google Play应用直链地址,帮助我们轻松下载安装App。 1、http://apkleecher.com/ 2、http://apk-dl.com/ 3、http://apps.evozi.com/apk-downloader/ 4、http://globalapk.com/

热门文章 毕业季我们该何去何从?

时间:2016-3-23 作者:RainFly   分类: 生活哲理   热度: 10022°  评论:4  
时间:2016-3-23   分类: 生活哲理    热度:10022   评论:4

        正如"打工皇帝"唐骏说:"我觉得有两种人不要跟别人争利益和价值回报。第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能在企业里学到什么,对发展是不是有利……"         人总是从平坦中获得的教益少,从磨难中获得的教益多;从平坦中获得的教益浅,从磨难中获得的教益深。一个人在年轻时经历磨难,如能正确视之,冲出黑暗,那就是一个值得敬慕的人。最要紧的是先练好内功,毕业后这5年就是练内功的最佳时期,练好内功,才有可能在未来攀得更高。 出路在哪里?出路在于思路! 其实,没有钱、没有经验、没有阅历、没有社会关系,这些都不可怕。没有钱,可以通过辛勤劳动去赚;没有经验,可以通过实践操作去总结;没有阅历,可以一步一步去积累;没有社会关系,可以一点一点去编织。但是,没有梦想、没有思路才是最可怕的,才让人感到恐惧,很想逃避! 人必须有一个正确的方向。无论你多么意气风发,无论你是多么足智多谋,无论你花费了多大的心血,如果没有一个明确的方向,就会过得很茫然,渐渐就丧失了斗志,忘却了最初的梦想,就会走上弯路甚至不归路,枉费了自己的聪明才智,误了自己的青春年华。 荷马史诗《奥德赛》中有一句至理名言:"没有比漫无目的地徘徊更令人无法忍受的了。"毕业后这5年里的迷茫,会造成10年后的恐慌,20年后的挣扎,甚至一辈子的平庸。如果不能在毕业这5年尽快冲出困惑、走出迷雾,我们实在是无颜面对10年后、20年后的自己。毕业这5年里,我们既有很多的不确定,也有很多的可能性。 毕业这5年里,我们既有很多的待定,也有很多的决定。 迷茫与困惑谁都会经历,恐惧与逃避谁都曾经有过,但不要把迷茫与困惑当作可以自我放弃、甘于平庸的借口,更不要成为自怨自艾、祭奠失意的苦酒。生命需要自己去承担,命运更需要自己去把握。在毕业这5年里,越早找到方向,越早走出困惑,就越容易在人生道路上取得成就、创造精彩。无头苍蝇找不到方向,才会四处碰壁;一个人找不到出路,才会迷茫、恐惧。 生活中,面对困境,我们常常会有走投无路的感觉。不要气馁,坚持下去,要相信年轻的人生没有绝路,困境在前方,希望在拐角。只要我们有了正确的思路,就一定能少走弯路,找到出路! 成功的人不是赢在起点,而是赢在转折点。 不少刚刚毕业的年轻人,总是奢望马上就能找到自己理想中的工作。然而,很多好工作是无法等来的,你必须选择一份工作作为历练。职业旅程中的第一份工作,无疑是踏入社会这所大学的起点。也许你找了一份差强人意的工作,那么从这里出发,好好地沉淀自己,从这份工作中汲取到有价值的营养,厚积薄发。千里之行,始于足下,只要出发,就有希望到达终点。 起点可以相同,但是选择了不同的拐点,终点就会大大不同! 毕业这几年,我们的生活、感情、职业等都存在很多不确定的因素,未来也充满了各种可能。这个时候,必须学会选择,懂得放弃,给自己一个明确的定位,使自己稳定下来。如果你不主动定位,就会被别人和社会"定型"! 可以这么说:一个人在毕业这5年培养起来的行为习惯,将决定他一生的高度。我们能否成功,在某种程度上取决于自己对自己的评价,这就是定位。你给自己定位是什么,你就是什么。定位能决定人生,定位能改变命运。丑小鸭变成白天鹅,只要一双翅膀;灰姑娘变成美公主,只要一双水晶鞋。 人的命,三分天注定,七分靠打拼,有梦就"会红",爱拼才会赢。只要不把自己束缚在心灵的牢笼里,谁也束缚不了你去展翅高飞。 现实情况远非他们所想的那样。于是,当优越感逐渐转为失落感甚至挫败感时,当由坚信自己是一块"金子"到怀疑自己是一粒"沙子"时,愤怒、迷茫、自卑就开始与日俱增。 其实,应该仔细掂量一下自己,你是否真是金子?是真金,手中要有绝活,才能上要有过人之处才行。一句话:真金是要靠实力来证明的,只有先把自己的本领修炼好了,才有资格考虑伯乐的事情 每颗珍珠原本都是一粒沙子,但并不是每一粒沙子都能成为一颗珍珠。 想要卓尔不群,就要有鹤立鸡群的资本。忍受不了打击和挫折,承受不住忽视和平淡,就很难达到辉煌。年轻人要想让自己得到重用,取得成功,就必须把自己从一粒沙子变成一颗价值连城的珍珠。 天有下雨与日出,人生高峰与低谷。 莫为浮云遮望眼,风物长宜放眼量。只要拂去阴霾,就能亮出朗朗晴空。如果你在工作上有些不如意,要相信自己不会一直处于人生的低谷期,总有一天能冲破重重云层。告诉自己:我并没有失败,只是暂时没有成功!只要在内心点亮一盏希望之灯,一定能驱散黑暗中的阴霾,迎来光明。 的确,论资历,他们是不折不扣的职场菜鸟,业务涉及不深,人脉一穷二白,在工作中经常碰壁。他们的压力并不一定都像千钧大石,而是像大雨来临前的天色,灰色低沉,明明有空间,却被灰色填满每个缝隙,只能等待大雨倾盆之后的晴空。 "起得比鸡早,睡得比狗晚,干得比驴多,吃得比猪差。"这是很多刚刚毕业的人喜欢用来调侃自己生活状态的话。虽然有点儿夸张,但是,他们中的很多人的确一直都被灰色心情所笼罩--心里永远是多云转阴。记得有位哲人曾说:"我们的痛苦不是问题本身带来的,而是我们对这些问题的看法产生的。"换个角度看人生,是一种突破、一种解脱、一种超越、一种高层次的淡泊与宁静,从而获得自由自在的快乐。 一位哲人说:"人生就是一连串的抉择,每个人的前途与命运,完全把握在自己手中,只要努力,终会有成。"就业也好,择业也罢,创业亦如此,只要奋发努力,都会成功。你是不是准备把生命的承诺全部都交给别人? 毕业后这5年,是改变自己命运的黄金时期。在最能决定自己命运时,如果还不把握,那你还要等到什么时候呢?我的人生我做主,命运由己不由人。 不要活在别人的嘴里,不要活在别人的眼里,而是把命运握在自己手里。 别说你没有背景,自己就是最大的背景。美国作家杰克·凯鲁亚克说过一句话:"我还年轻,我渴望上路。"在人生的旅途中,我们永远都是年轻人,每天都应该满怀渴望。每个人的潜能都是无限的,关键是要发现自己的潜能和正确认识自己的才能,并找到一个能充分发挥潜能的舞台,而不能只为舞台的不合适感到不快。要客观公正地看待自己的能力,结合自己的实际情况和爱好冷静选择,尽可能到最需要自己、最适合自己的地方。 在人力资源管理界,特别流行一个说法,即"骑马,牵牛,赶猪,打狗"理论:人品很好,能力又很强的,是千里马,我们要骑着他;人品很好但能力普通的,是老黄牛,我们要牵着他;人品、能力皆普通的,就是"猪",我们要赶走他;人品很差能力很强的,那是"狗",我们要打击他。 我想,刚刚毕业几年的你,一样胸怀大志,一样想成为一匹被人赏识、驰骋沙场的千里马吧?那么,就好好沉淀下来。低就一层不等于低人一等,今日的俯低是为了明天的高就。所谓生命的价值,就是我们的存在对别人有价值。能被人利用是一件好事,无人问津才是真正的悲哀! 能干工作、干好工作是职场生存的基本保障。 任何人做工作的前提条件都是他的能力能够胜任这项工作。能干是合格员工最基本的标准,肯干则是一种态度。一个职位有很多人都能胜任,都有干好这份工作的基本能力,然而,能否把工作做得更好一些,就要看是否具有踏实肯干、苦于钻研的工作态度了。 在能干的基础上踏实肯干。 工作中,活干得比别人多,你觉得吃亏;钱拿得比别人少,你觉得吃亏;经常加班加点,你觉得吃亏……其实,没必要这样计较,吃亏不是灾难,不是失败,吃亏也是一种生活哲学。现在吃点儿小亏,为成功铺就道路,也许在未来的某个时刻,你的大福突然就来了。 能吃亏是做人的一种境界,是处世的一种睿智。 在工作中并不是多做事或多帮别人干点儿活就是吃亏。如果领导让你加加班、赶赶任务,别以为自己吃了大亏,反而应该感到庆幸,因为领导只叫了你,而没叫其他人,说明他信任你、赏识你。吃亏是一种贡献,你贡献得越多,得到的回报也就越多。乐于加班,就是这样的一种吃亏。 舍得舍得,有舍才有得;学会在适当时吃些亏的人绝对不是弱智,而是大智。 给别人留余地就是给自己留余地,予人方便就是予己方便,善待别人就是善待自己。 傻人有傻福,因为傻人没有心计。和这样的人在一起,身心放松,没有太多警惕,就能相互靠近。傻在很多时候意味着执着和忠贞,也意味着宽厚和诚实,让人不知不觉站到他一边。傻人无意中得到的,比聪明人费尽心机得到的还多。毕业这几年,你的天空中只飘着几片雪花,这样你就满足了吗?成功需要坚持与积累,与其专注于搜集雪花,不如省下力气去滚雪球。巴菲特说:"人生就像滚雪球,最重要的是发现很湿的雪和很长的坡。"让自己沉淀下来,学着发现"很湿的雪",努力寻找"很长的坡"。记住:散落的雪花会很快融化,化为乌有,只有雪球才更实在,才能长久。 在毕业这几年里,你要是能做到比别人多付出一分努力,就意味着比别人多积累一分资本,就比别人多一次成功的机会。 什么是职业化呢?职业化就是工作状态的标准化、规范化、制度化,即在合适的时间、合适的地点用合适的方式说合适的话、做合适的事,使知识、技能、观念、思维、态度、心理等符合职业规范和标准。"在每个行业里,都有很多出色的人才,他们之所以能存在,是因为比别人更努力、更智慧、更成熟。但是,最重要的是,他们比一般人更加职业化!这就是为什么我现在能当你老板的原因。一个人仅仅专业化是不够的,只有职业化的人才能飞在别人前面,让人难以超越!"不要以为我们现在已经生存得很安稳了。对于毕业5年的人来讲,一定要认清即将面临的五大挑战。

一、赡养父母。

二、结婚生子。 三、升职加薪。 四、工作压力。 五、生活质量。 有的人为生存而雀跃,目光总是停在身后,三天打鱼两天晒网,有始无终。 有的人为发展而奋斗,目光总是盯在正前方,每天进步一点点,坚持不懈。 毕业这几年,不能没有追求和探索,不能没有理想和目标。人生如逆水行舟,不进则退。甘于现状的生活就是不再前行的船,再也无法追上时代前进的步伐。一定要抓紧每一秒钟的时间来学习,要明白学习不是学生的专利。小聪明的人最得意的是:自己做过什么?大智慧的人最渴望的是:自己还要做什么? 小聪明是战术,大智慧是战略;小聪明看到的是芝麻,大智慧看到的是西瓜。 在这个世界上,既有大人物,也有小角色,大人物有大人物的活法,小人物有小人物的潇洒,每个人都有自己的生活方式,谁也勉强不了谁。但是,小聪明只能有小成绩和小视野,大智慧才能有大成就和大境界。小企业看老板,中企业看制度,大企业看文化。

热门文章 浅析Easy-ARMi.MAX283 GPIO中断驱动模块

时间:2016-3-20 作者:RainFly   分类: Linux嵌入式   热度: 9640°  评论:1  
时间:2016-3-20   分类: Linux嵌入式    热度:9640   评论:1

需要的是一步步解析这个代码中比较抽象难懂的点 顺带举一反三 共同学习 不喜勿喷!

贴上源代码 在光盘文件 ....\3.Linux\4.开发示例6、驱动示例GPIO中断

#inc lude<linux/init.h>

#include<linux/module.h> #include<mach/gpio.h>                                                   #include<asm/io.h>                                                  #include"mach/../../mx28_pins.h" #include <mach/pinctrl.h> #include "mach/mx28.h" #include<linux/fs.h> #include <linux/io.h> #include<asm/uaccess.h>                                      #include<linux/miscdevice.h>                           #include<linux/irq.h>                           #include<linux/sched.h>                    #include<linux/interrupt.h>               #include<linux/timer.h> #include <linux/kernel.h> #include <linux/delay.h> #include <asm/uaccess.h> #include <asm/io.h> #define GPIO_BUTTON_PIN PINID_SSP0_DATA4 //按键的引脚为P2.4

//具体引脚文件的配置在内核arch/arm/mach-mx28/mx28_pin.h文件中宏定义添加引脚配置 

MXS_PING_ENCODE函数是通过计算得出引脚位置

#define MXS_PIN_ENCODE(b, p)   \ ((((b) & MXS_PIN_BANK_MAX) << MXS_PIN_BANK_BIT) |\ ((p) & MXS_PIN_PINID_MAX))  

static volatile int ev_press = 0;

static struct fasync_struct button_async; struct pin_desc_s{ //中断引脚描述结构体 unsigned int pin; unsigned int irq; unsigned int key_val; }; static unsigned char key_val; //初始化中断引脚结构体 struct pin_desc_s pin_desc = { .pin     = MXS_PIN_TO_GPIO(GPIO_BUTTON_PIN), .key_val = 0, }; static DECLARE_MUTEX(button_lock);      static DECLARE_WAIT_QUEUE_HEAD(button_waitq); //中断处理函数 static irqreturn_t buttons_irq(int irq, void dev_id) { struct pin_desc_s pindesc = (struct pin_desc_s )dev_id; unsigned int pinval; pinval = gpio_get_value(pindesc->pin); if (pinval) { key_val = 1; } else { key_val = pindesc->key_val; }         ev_press = 1;         wake_up_interruptible(&button_waitq); //唤醒等待队列里面的进程 kill_fasync (&button_async, SIGIO, POLL_IN); //异步通知 //printk("interrupt occur..........\n"); return IRQ_RETVAL(IRQ_HANDLED); } static int gpio_drv_open(struct inode inode, struct file file) { int iRet=0; if (file->f_flags & O_NONBLOCK) { if (down_trylock(&button_lock)) return -EBUSY; } else { down(&button_lock); } gpio_direction_input(pin_desc.pin); pin_desc.irq = gpio_to_irq(pin_desc.pin);  if (pin_desc.irq)  disable_irq(pin_desc.irq); set_irq_type(pin_desc.irq, IRQF_TRIGGER_FALLING); //下降沿中断 //申请中断并设置中断处理函数 iRet = request_irq(pin_desc.irq, buttons_irq, IRQF_SHARED, "gpio_int", &pin_desc); if (iRet != 0){ printk("request irq failed!! ret: %d  irq:%d \n", iRet,pin_desc.irq); return -EBUSY; } return 0; } ssize_t gpio_drv_read(struct file file, char __user buf, size_t size, loff_t ppos) { if (size != 1) return -EINVAL; if (file->f_flags & O_NONBLOCK) { if (!ev_press) return -EAGAIN; } else { wait_event_interruptible(button_waitq, ev_press); } copy_to_user(buf, &key_val, 1); ev_press = 0; return 1; } int gpio_drv_close(struct inode inode, struct file file) { free_irq(pin_desc.irq, &pin_desc); up(&button_lock); return 0; } static int gpio_drv_fasync (int fd, struct file filp, int on) { printk("driver: gpio_drv_fasync\n"); return fasync_helper (fd, filp, on, &button_async); } static struct file_operations gpio_drv_fops = { .owner = THIS_MODULE, .open = gpio_drv_open, .read = gpio_drv_read, .release = gpio_drv_close, .fasync = gpio_drv_fasync, }; static struct miscdevice button_miscdev =  { .minor        = MISC_DYNAMIC_MINOR,     .name        = "magic-gpio",     .fops        = &gpio_drv_fops, }; static int __init gpio_drv_init(void) { int iRet=0; printk("gpio_miscdev module init!\n");

iRet = misc_register(&button_miscdev);

// 注册miscdevice 混杂设备驱动 公用主设备号为10,节省主设备号!  

详细解释 http://blog.csdn.net/tong646591/article/details/8301925

if (iRet) { printk("register failed!\n"); }  return 0; } static void __exit gpio_drv_exit(void) { printk("gpio_miscdev module exit!\n"); misc_deregister(&button_miscdev); } module_init(gpio_drv_init); module_exit(gpio_drv_exit); MODULE_AUTHOR("EasyARM283 By LZZ"); MODULE_LICENSE("Dual BSD/GPL"); MODULE_DESCRIPTION("gpio button interrupt module");

返回顶部    首页    捐赠支持    手气不错    友情链接    关于我们    站长工具    站长介绍    手机版本    后台登陆   
版权所有:雨夜轩    站长:RainFly    特别鸣谢   文章归档   皖ICP备15003600号-1   百度统计
Copyright©2015雨夜轩 Powered by emlog强力驱动 七牛CDN全球加速 360站长联盟安全认证 中国博客联盟荣誉成员 可信赖网站 谷歌地图   百度地图   
页面加载耗时:0.079秒 数据库查询次数:58次
背景设置
$