1.对硬件寄存器位操作,如清零,置位,取反,位域
2.用异或实现交换两个变量值
3.编译器测试
4.位域在嵌入式中的应用
点击下载源码
================================================================
#include#define BIT11 (1int main(void){unsigned int rGPIOA = 0xffff;printf("BIT11 = 0x%x\n", BIT11);rGPIOA &= (~(BIT11));printf("''''&'''' set rGPIOA bit %d = 0x%x\n", BIT11, rGPIOA);rGPIOA |= (BIT11);printf("''''|'''' reset rGPIOA bit %d = 0x%x\n", BIT11, rGPIOA);rGPIOA ^= (BIT11);printf("''''^'''' reverse rGPIOA bit %d = 0x%x\n", BIT11, rGPIOA);rGPIOA ^= (BIT11);printf("''''^'''' reverse rGPIOA bit %d again = 0x%x\n", BIT11, rGPIOA);return 0;}
==============================================================
#includeint main(void){struct bit_erea{unsigned a:2;unsigned b:3;unsigned c:3;};struct bit_erea data;unsigned char output;data.a = 3;data.b = 5;data.c = 4...

>> 阅读全文

1.定义短文的输入分号键+引号键+定义的编码+空格如:;''zc1============================================2.在陈桥拼音下直接输入网址键入字母串+回车键
============================================3.从已经输入的词汇中选;+空格 (全选);+, +空格 (按,个数来选)
============================================4.自定义编码方式输入标点符号;+编码+空格
表4-1 定义的符号与编码对照表  编码  输出符号  D    °  C    ×  S    …  CH   ÷  P    -  JJ   ±  CD   ℃  BD   ≠≮  MY   $  DH   √  YB   £  XD   ≤  Y    ¥  DD   ≥  QF   ‰  BX   ≯  WX   ☆★  WQ   ∞  YQ   ○●◎  XS   ∽  FK   ◇◆□■  QD   ≌  SJ   △▲  YW   ∵  JT   →←↑↓  SY   ∴  RM   ¥  PX   ∥  F    ′  M    :″  YY   ♂♀  XG   /\  SD   ⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛  SK   ⑴⑵⑶⑷⑸⑹...

>> 阅读全文

C的第9章学习了有关于预处里的问题
用宏实现:交换两个数,判断润年,3个数中求最大,加密等.
点击下载源代码
==============================================================
加密
#include#define IS_A_TO_Z(str) (((''''a''''str))||((''''A''''str)))#define IS_Z(str) ((''''z''''==str)||(''''Z''''==str))int main(void){char str[128];int i;printf("Plese input txet:");gets(str);for(i = 0; str[i] != ''''\0'' i++){if(IS_A_TO_Z(str[i]))str[i] += 4;else if(IS_Z(str[i]))str[i] -= 25;}printf("%s\n", str);return 0;}
=============================================================
判断润年
#include#define LEAP_YEAR(year) (((year%4)==0)&&((year%100)!=0)||((year%400)==0))int main(void){int year;printf("Please input years:");scanf("%d",&year);if(LEAP_YEAR(year))printf("%d is a leap year.\n", year);else printf("%d is not a leap year.\n", year);return 0;}==...

>> 阅读全文

从www.ouravr.com上下载的Ubuntu速成的手册,PDF格试的,希望对大家有所帮助!
怎么样安装linux软件、3D桌面设置等。。
点击下载

>> 阅读全文

来自:http://blog.csdn.net/youta_chen/archive/2007/08/29/1763215.aspx===============================================================Spac5xx的实现是按照标准的USB VIDEO设备的驱动框架编写(其具体的驱动框架可参照/usr/src/linux/drivers/usb/usbvideo.c文件),整个源程序由四个主体部分组成:设备模块的初始化模块和卸载模块,上层软件接口模块,数据传输模块。具体的模块分析如下:
初始化设备模块:
该驱动采用了显式的模块初始化和消除函数,即调用module_init来初始化一个模块,并在卸载时调用moduel-exit函数(此二函数在2.3.13内核开始支持)。其具体实现如下:
1.模块初始化:
module_init (usb_spca5xx_init);
static int __init
usb_spca5xx_init (void)
{
#ifdef CONFIG_PROC_FS
proc_spca50x_create (); //建立PROC设备文件
#endif /* CONFIG_PROC_FS */
if (usb_register (&spca5xx_driver) 注册USB设备驱动
return -1;
info ("spca5xx driver %s registered", version);>> 阅读全文

利用automake和autoconf自动生成makefileautoconf是一个产生自动配置源码包,生成shell脚本的工具automake是一个从文件makefile.am(makefile的配置宏)自动生成makefile.in的工具要使用automake和autoconf之前先装有:1、automake2、autoconf3、m44、perl5、如要生成共享库文件还要有GNU Libtool下面举例说明makefile生成过程:|一个hello的代码结构如下:hello|----main.c|---mytool1| |-- mytool1.c| `-- mytool1.h|-- mytool2 |-- mytool2.c `-- mytool2.h/*-------main.c文件-------*/#include "mytool1/mytool1.h"#include "mytool2/mytool2.h"int main(int argc,char **argv){ mytool1_print("hello"); mytool2_print("world"); return 0;}/*-------mytool1.c文件-------*/#include"mytool1.h"void mytool1_print(char *print_str){ printf("This is mytool1 print %s\n", print_str); return;}/*-------mytool1.h文件-------*/#ifndef _MYTOOL_1_H#define _MYTOOL_1_H#includevoid mytool1_print(char *print_str);#endif/*-------mytool2.c文件-...

>> 阅读全文

#includeint swap(char *buf, int len){ char *p, *q; char temp; buf[len] = ''\0' p = buf; q = buf + len - 1; while(q > p) { temp = *p; *p = *q; *q = temp; p++; q--; } return 0;}int main(void){ int n,i = 0; char buf[32]; printf("Please input a number:\n"); scanf("%d",&n); printf("%d binary is:\n", n); if(n == 0) { printf("0\n"); return -1; } while(n > 2) { buf[i++] = n % 2 + ''0' n = n/2; } if(n == 2) buf[i++] = ''0' buf[i] = ''1' swap(buf, i+1); printf("%s\n", buf); return 0;}

>> 阅读全文

没有加出错处理:#includeint fun(int m, int n){ int r; if(n) r = fun(n,m%n); else return m; return r;}int main(void){ int m,n,max,min; printf("Please input two number:\n"); scanf("%d %d",&m,&n); if(m > n) max = fun(m, n); else max = fun(n, m); min = (m*n)/max; printf("max=%d,min=%d\n",max,min); return 0;}

>> 阅读全文