摘要:fread函数和fwrite函数 1.函数功能 用来读写一个数据块。 2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 3.说明 (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。 (2)size:要读写的字节数; (3)count:要进...
阅读全文
03 2011 档案
摘要:Contents 1. 前言 2. 使用临时文件 3. 使用匿名管道 4. 使用popen 5. 小结 1. 前言 Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 ...
阅读全文
摘要:在Linux的应用程序里面调用我的shell(这玩意功能实在太强大)的办法有很多种一般来说有fork()、exec*()、pipe、system()其中又以system() 调用很少方便,现在加以说明。 #include<stdlio.h> #include<stdlib.h> int main() { system(“ifconfig eth0 10.17.28.1”); //system(“...
阅读全文
摘要:简单的创建和关闭sqlite3: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sqlite3.h> int main() { int rc; sqlite3 *db rc=sqlite3_open(“test.db”,&db); if(rc) { fprintf(“stderr,can’t open and c...
阅读全文
摘要:关键点: 先给PC口的低4为为输出高4位为输入,来判断是那一列,后交叉来赋值来判断是那一行 源代码: #include <avr/io.h> #include<util/delay.h> #define F_CPU 8000000UL const unsigned char table[]= { 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7F,0x6...
阅读全文
摘要:关键点: 1.按键的释放判断为if(PINC!=flag)这个flag存有先前的按键值 2.i=(i-/+1)&0x07巧妙的利用了无符号溢出的作用 3.在我们设置了pc口的输入时,在按键按下后再释放的之后我们会发现我们的pinc的值为0xff,是因为我们设置了上拉电阻,和pc口的数据为0xff; 源代码: #include <avr/io.h> #include <util/delay.h> #...
阅读全文
摘要:在 ARM 汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。 在 ARM 的汇编程序中,有如下几种伪指令:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令以及其他伪...
阅读全文
摘要:avrstudio 5开发程序: 备注: 1.在proteus的里面可以导入elf文件,来实现也就是说不一定非要生成hex文件 2.关键点:是要消影子,这点在原来的书上是没有的,可能是编书时的错漏。 源代码: /* * eight_led_return.c * Project: eight led * Created: 2011-3-25 12:23:09 * Author : xmphoen...
阅读全文
摘要:最近刚重装系统,自己的辛苦收集的网站全没了,悲剧啊,网上找了找发现可以用google浏览器资料的同步功能来实现这个想法,也就是说无论你在哪里只要你输入你的帐号在你的浏览器里面,也就是登录您的gmail帐号,你就可以看到你的以前的网站。操作手法:1.在你的浏览器的扳手那里弹出的对话框里面选择“选项”这个栏目,扳手应该会找到的吧,嘿嘿2.在你的个人资料选项里面有一选择同步,再在弹出的对话框输入你的帐号和密码就可以了哈哈截图:
阅读全文
摘要:现在avrstudio5已经出来了,非常的不错借用微软开发界面和开源的gcc编译器,形成很强大的开发工具,但是在这个开发工具里面还包括一些例子源代码,但是很可惜都是最新的芯片,我们国内常用的芯片没有例子,可以得知我们的开发和国外还是差的很远,先给个例子: 源代码://这个东西可吃内存了 /* * Avr5_test.c * Project: eight led turn to show a number * Created: 2011-3-22 14:49:22 * Author : xmphoenix.fish */ #include <avr/io.h> #include<
阅读全文
摘要:参考网站:http://www.waveshare.net/ 现在要用avrstudio5开发项目,现在总结ATMEL系列的芯片如下:
阅读全文
摘要:参考网站:http://www.waveshare.net/ 现在要用avrstudio5开发项目,现在总结ATMEL系列的芯片如下:
阅读全文
摘要:参考网站:http://www.waveshare.net/ 现在要用avrstudio5开发项目,现在总结ATMEL系列的芯片如下:
阅读全文
摘要:嵌入式Linux上通过boa服务器实现cgi/html的web上网简介: 第一步 Boa程序的移植 1.下载Boa源码 2、生成Makefile文件 3、修改Makefile文件 4、编译 第二步 Boa的配置 第三步boa的执行 1.将根文系统ramdisk在电脑主机上mount –o loop ramdisk 目标目录进行展开 2.测试操作 3.将ramdisk文件重新打包压缩下载到嵌入式板...
阅读全文
摘要:这里不讨论代码的逻辑、风格等问题。 这个程序功能十分简单,就是打印获取到的请求字符串以及用户名称和密码。该程序与普通的C语言程序并无区别,只是多了我们不常用的getenv函数,它在stdlib.h头文件中声明,作用是获取指定的环境变量的值,比如我的系统中HOME这个环境变量值为/home/latelee/,则该函数返回指向这个值的指针。这里出现了QUERY_STRING,这是boa特有的环境变量,...
阅读全文
摘要:oa是一个小型的web服务器,可以用于多种平台,在嵌入式中比较常见。 boa的官方网站为www.boa.org,可以在上面下载最新版本的boa:boa-0.94.13.tar.gz (不过这个“最新”已经是N年前的事情了)。 下面是在Fedora系统中安装、测试过程,以后不再重复强调Fedora系统,也不区分Linux、Fedora。 1、解压 $ tar zxvf boa-0.94.13.tar...
阅读全文
摘要:在做嵌入式web的时候我们一般要做的事情是要设计以一个登录的界面,来让客户验证自己的帐号和密码,这个帐号和密码既可以放在你的xml文件中也可以放在你的数据库中,但是最重要的是如何来通过CGI来调用和验证,其实最关键不是怎么接受数据,最关键的是怎么验证后跳转,我们在写cgi程序的时候,如果只是跳转的话,我们可以写一个空白的html然后在你的body的中间部分加上你的判断条件,如果你的判断条件成立的话...
阅读全文
摘要:环境变量 意义 SERVER_NAME CGI脚本运行时的主机名和IP地址. SERVER_SOFTWARE 你的服务器的类型如: CERN/3.0 或 NCSA/1.3. GATEWAY_INTERFACE 运行的CGI版本. 对于UNIX服务器, 这是CGI/1.1. SERVER_PROTOCOL 服务器运行的HTTP协议. 这里当是HTTP/1.0. SERVER_PORT 服务器运行的T...
阅读全文
摘要:转载自http://blogold.chinaunix.net/u3/94700/showart.php?id=2340792 gcc 提供了大量的警告选项,对代码中可能存在的问题提出警 告,通常可以使用-Wall来开启以下警告: -Waddress -Warray-bounds (only with -O2) -Wc++0x-compat -Wchar-subscripts -Wimplic...
阅读全文
摘要:我们可以用DreamWeaver来设计我们的网页,一般的情况下我们为动态的网页,就是说不是仅仅浏览,可以递交数据和查询我们要的东西,在嵌入式里面我是通过boa的web服务来调用cgi程序来实现交互的,如是怎么调用cgi就是一个很基础关键的问题,考,这个以前一点也不会,现在终于知道怎么回事了。 关键点:我是通过表单的方式来调用的,当然你也有其他的方式来调用cgi但是常用的还是cgi.我们先电击D...
阅读全文
摘要:现在我们需要一个简单的帐号和密码来控制我们的web入口地址,我们的开发环境是javascript下面是我们的代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-...
阅读全文
摘要:今天在网上看到一篇介绍javascript的文章,尽管文章讲述的内容我都很熟悉,但我还是要转载出来让大家读一读,这个哥们的文采真是没的说,能将本来枯燥的程序讲述的如此酣畅淋漓实在让人佩服!原文如下:引子 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。 数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。 你看,数据代码间的关系与物质能量间的关系有着惊人的相似。数据也是有惯性的,如果没有代码来施加外力,她总保持自己原来的状态。而代码就象能量,他存在的唯一目的,就是要努力改变数据原来的状态。在代码改
阅读全文
摘要:现在要开发一个嵌入式的web服务主要是用来监控我的设备的基本情况,这个就要求要能做一个小的网站主要是能有用户密码和显示从arm版上的嵌入式数据库sqlite中读取我要的参数显示出来,并且能动态的画出曲线,好了现在看看怎设计这个网站。 这里面最重要的还是那个怎么调用我写的函数,对了这个javascript的语言我没学过,但是其语法分松散,和c和c++不一样,搞起来还是很不习惯但是语言都差不多,只不过形式不一样,好了,先来个简单的怎么调用我写的javascript的子函数。代码余下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans
阅读全文
摘要:我们在在实现这个功能的时候还的需要设置几个主要的地方:mkdir –p /var/crond/crontabs 设置建立文件夹,这个要加载在自启动的脚本里面crontab -e 设置我们要定时启动的项目或者脚本,具体的详见我的其它资料blog这个时候在我们第一步的文件夹下就会有两个文件,这个时候我们要把这个文件放到uer或者home目录下面,在自己启动的项目下面加上cp /home/xx 到我们的crontabs目录下面,这样子就可以定时的启动了,这个问题是在友善的6410没有添加这个crontabs文件夹,如果你想彻底的解决这个问题,那么你就要重新做一个系统,确保这个定时启动的文件目录存在
阅读全文
摘要:建立数据库档案用sqlite3建立数据库的方法很简单,只要在shell下键入(以下$符号为shell提示号,请勿键入):$ sqlite3 foo.db如果目录下没有foo.db,sqlite3就会建立这个数据库。sqlite3并没有强制数据库档名要怎么取,因此如果你喜欢,也可以取个例如foo.icannameitwhateverilike的档名。在sqlite3提示列下操作进入了sqlite3之...
阅读全文
摘要:在下面的链接下载解压后,双击 WindowsLiveWriterPortable.exe 即可启动绿色版版的 Live Writer。 使用此绿色便携版的 Live Writer 撰写、发布的日志存储在:WindowsLiveWriterPortable – Data – Settings – Dir1.dat 注意:xp 用户如果没有安装 .Net Framework 的话,程序会无法启动。点这...
阅读全文
摘要:选择“其他日志服务”,然后点击下一步。 第2步, 填写用户名和用户密码,把 UserID替换成你自己的用户名,密码就是你账号的密码,然后点击下一步。 第3步:“ 你所使用的日志类型”选择“Metaweblog API” ,“日志的远程发布URL”栏目填写网址: http://blog.csdn.net/[userID]/services/MetaBlogApi.aspx , 将网址中的“[user...
阅读全文
摘要:Windows Live Writer是非常不错的一个日志发布工具,支持本地写文章,非常方便将word 中内容,包括图片进行处理,有点感觉相见恨晚。 Live Writer最新版本下载地址是什么? http://download.live.com/writer Live Writer配置cnblog示例 1. 安装:省了,不会装的同志留言 2. 添加日志帐户 a) 菜单-》添加日志帐户 b) 选择...
阅读全文
摘要:/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 你也可以将这个服务在系统启动的时候自动启动: 在/etc/rc.d/rc.local这个脚本的末尾加上: /sbin/servi...
阅读全文
摘要:获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d)获取昨天时期:`date -d yesterday +%Y%m%d`获取前天日期:`date -d -2day +%Y%m%d`依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d`或n天前的 `date -d "n days ago" +%y%m%d`明天:`date...
阅读全文
摘要:现在项目要搞定的事情是要上传的文件要新建一个文件夹,并且以现在的时间为名字,还要把文件传到这个文件夹中,现在的一个关键点是如果给远程的主机创建文件夹,建立文件夹的命令是 mkdir xmphoenix 但是如何获取时间呢? #!/bin/bash b=$(date +%y-%m-%d) cat b 这个简单的脚步就可以显示参数b的值了 #a为当前日期a=$(date +"%Y%m%d")#b为当前...
阅读全文
摘要:现在项目要求在arm板上能定时的上传文件,并且要用文件夹分门别类的放好,那就先实现第一步要能自动上传文件。 前期工作:在自己的xp电脑上安装一个ftp服务器,推荐ser-u比较好设置和使用,具体的参见其安装手册,如果有不会的给我留言,还有是在自己的arm板上必须要有ftp服务器的客户和服务端,一般的情况下都会有的,如果没有也不用怕,自己移植一个很简单,具体参考我的随笔。 ftp 自动上传文件的代码...
阅读全文
摘要:#1 一: net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\ip\ipc$ /...
阅读全文
摘要:一、FTP概述 FTP是文件传输协议(File Transfer Protocal)的简写,主要完成与远程计算机的文件传输。 FTP采用客户/服务器模式,客户机与服务器之间利用TCP建立连接,客户可以从服务器上下载文件,也可以把本地文件上传至服务器。 FTP服务器有匿名的和授权的两种。匿名的FTP服务器向公众开放,用户可以用“ftp”或“anonymous”为帐号,用电子邮箱地址为密码登录服务器;...
阅读全文
摘要:建设一个自己的Linux发行版是每个自由开源软件爱好者的一个梦想.这曾经是一件难度非常高的事情,能做一个Linux发行版的人也是凤毛麟角,自己能做一个Linux发行版曾经也是极其荣耀的事情.但是,本身提倡发挥自身潜力,提倡自己亲身实践精神的自由开源世界,是不会把大家都期盼的事情故意打扮成远离大众的冰雪美人,他会不断地改革自身的发展机制,让每个人都逐渐地参与到自己的发展中间来,从而也促进自身的发展....
阅读全文
摘要:在用AVR_GCC来编写和调试程序的时候,我们一般最好把自己的工程目录全部命名为英文目录,要不然的话就会报错说找不到Makfile文件,在这种情况下把自己的工程目录路径改成英文就OK!
阅读全文
摘要:1.在avr studio的project options(工程选项里面)在General选项里面需要注意的是: edit configuratio:这个选项的意思是当前项目的默认输出文件夹是default,而且这个文件夹的名称是可以改的Device:是我们要选择工作的芯片Frequency:是芯片的工作频率Optimizatio:是程序编译时优化的级别主要是优化程序输出可执行文件的大小unsigned char(-funsigned char):默认程序中的char类型为是无符号类型其他的设置都基本上是默认的设置。2.makfile 在使用avr_gcc的编译器是,makfile是必不可少,
阅读全文