×î¼òµ¥µÄ´°¿Ú(Gtk+ for Linux)
ÔÚLinuxÏÂʹÓÃGtk+ʵÏÖ×î¼òµ¥µÄGUI´°¿Ú£¬Ô´´úÂëÈçÏ£º
//SimpleGui.c
#include <gtk/gtk.h>
int main(int argc,char *argv[])
{
//¶¨ÒåÒ»¸öwidget(Gtk+¹¹¼þ)£¬ÕâÀﶨÒåµÄÊÇÒ»¸ö´°¿Ú¹¹¼þ
GtkWidget *wnd;
//Gtk+2.0µÄ³õʼ»¯ÃüÁîÐвÎÊý£¬Ã¿Ò»¸öGtk+³ÌÐò¶¼ÒªÓÐÕâ¾ä»°
gtk_init(&argc,&argv);
//´´½¨Ò»¸öÖö¥µÄ´°¿Ú
wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//ÉèÖÃÕâ¸ö´°¿ÚµÄ±êÌâÊÇ"Simple Form with Gtk+"
gtk_window_set_title(GTK_WINDOW(wnd),"Simple Form with Gtk+");
//Gtk+µÄÐźŻص÷º¯Êý£¬ÕâÀïµÄÕâ¸ö»Øµ÷º¯ÊýµÄ×÷ÓõÄÊǹرմ°¿Ú
g_signal_connect(G_OBJECT(wnd),"destroy",G_CALLBACK(gtk_main_quit),NULL);
//ÏÔʾ¹¹¼þº¯Êý£¬ÕâÀïÊÇÏÔʾ´°¿Ú
gtk_widget_show(wnd);
//Gtk+2.0µÄÖ÷Ñ»·Ê¼þ£¬Ã¿Ò»¸öGtk+2.0³ÌÐò¶¼ÒªÒ»¸ö£¬·ñÔò³ÌÐòÎÞ·¨ÔËÐУ¬Í¬Ê±Õâ¸öº¯ÊýÊÇÒ»¸öËÀÑ»·
//Ö»ÓÐͨ¹ýÉÏÃæµÄg_signal_connectÐźŻص÷º¯ÊýÍ˳öÕâ¸öËÀÑ»·
gtk_main();
return 0;
}
//makefile(±àдMakefileÎļþ¿ÉÒÔÈóÌÐò±àÒë¸ü¼Ó¼ò±ã)
CC=gcc
OFLAG=o
GFLAG=-g
GTK=`pkg-config --cflags --libs gtk+-2.0`
SimpleGui:SimpleGui.c
$(CC) $(OFLAG) SimpleGui SimpleGui.c $(GTK)
$(CC) $(OFLAG) SimpleGui.debug $(GFLAG) SimpleGui.c $(GTK)
È»ºóÔÚÖÕ¶ËÖÐÊäÈëmake¾Í¿ÉÒÔ±àÒë³öSimpleGuiºÍSimpleGui.debugÁ½¸öÎļþ£¬ÆäÖÐSimpleGui.debugÎļþÊǵ÷ÊÔÎļþ£¬Èç¹û³ÌÐòÓÐÎÊÌ⣬¿ÉÒÔʹÓÃDDDÕâ¸öÈí¼þ½øÐгÌÐòµ÷ÊÔ¡£Ò»¸ö¼òµ¥µÄGtk+³ÌÐò¾ÍдºÃÁË£¬Ï£ÍûºÍÆäËûÔÚLinuxÏÂ×ö¿ª·¢µÄÅóÓѶà¶àµÄ½»Á÷£¬ÎÒÊÇÒ»¸ö³õѧÕߣ¬»¹ÓкܶàµØ·½Ï£ÍûµÃµ½¸÷λµÄÖ¸µ¼£¬Ð»Ð»¡£
Ïà¹ØÎĵµ£º
ÔÚ¿´LKD(µÚ¶þ°æ)µÚÁùÕÂ(ÖжϺÍÖжϴ¦Àí³ÌÐò)µÄʱºò£¬¸Õ¿ªÊ¼½Ó´¥µ½ÖжÏÏߺź͹²ÏíÖжÏÏßµÄʱºò°ëÌìã¶ÊÇûÓÐÏëÃ÷°×£¬ÔÀ´Àí½âµÄÖжϺÍÖжϺÍÖжϴ¦Àí³ÌÐò¾ÍÊÇͨ¹ýÖжÏÏߺÅÀ´½øÐйØÁª£¬Ó²¼þ·¢ÉúÖжϣ¬È»ºóͨ¹ýÖжÏÏߺŲéÕÒ¶ÔÓ¦µÄÖжϴ¦Àí³ÌÐò£¬×îºóÖжϴ¦Àí³ÌÐò·µ»Ø£¬´Ë´ÎÖжÏÔò´¦ÀíÍê±Ï£¬Ã»Ïë ......
±¾ÎÄÀ´×Ô£ºhttp://blog.chinaunix.net/u2/66786/showart.php?id=601766
1.1Ê·Ç°µÄPIC
8259AÊǼ´ÎÒÃÇͨ³£ËµµÄPIC£¬Èçͼ1-1Ëùʾ£º
ͼ1-1 8259A
ÆäÖÐ×îÖØÒªµÄ¹Ü½ÅÊÇIR0~IR7£¨Interrupt Request0~7£¬ÓÃÓÚÁ¬½ÓÉ豸£©¡¢INT£¨Á¬½ÓCPU,µ±ÓÐÖжÏÇëÇóʱ£¬À¸ß¸Ã¹Ü½ÅÒÔ֪ͨCPUÖжϵĵ½À´£©¡¢INTA£¨Á¬½ÓCPU£¬CPUͨ¹ý¸Ã¹Ü½ ......
Ò»:Ç°ÑÔ
I2cÊÇphilipsÌá³öµÄÍâÉè×ÜÏß.I2CÖ»ÓÐÁ½ÌõÏß,Ò»Ìõ´®ÐÐÊý¾ÝÏß:SDA,Ò»ÌõÊÇʱÖÓÏßSCL.ÕýÒòΪÕâÑù,Ëü·½±ãÁ˹¤³ÌÈËÔ±
µÄ²¼Ïß.ÁíÍâ,I2CÊÇÒ»ÖÖ¶àÖ÷»ú¿ØÖÆ×ÜÏß.ËüºÍUSB×ÜÏß²»Í¬,USBÊÇ»ùÓÚmaster-slave»úÖÆ,ÈκÎÉ豸µÄͨÐűØÐëÓÉÖ÷»ú·¢Æð²Å¿ÉÒÔ.¶ø
I2C ÊÇ»ùÓÚmulti master»úÖÆ.һͬ×ÜÏßÉÏ¿ÉÔÊÐí¶à¸ömaster.¹ØÓÚI2CÐÒéµÄÖª ......
Linux
ÏÂÉèÖö˿ÚȨÏÞµÄϵͳµ÷ÓÃÓÐÁ½¸ö£º
ioperm
ºÍ
iopl
¡£
Ò»¡¢
ioperm
ºÍ
iopl
½éÉÜ¡£
1.ioperm
¹¦ÄÜÃèÊö£º
Ϊµ÷Óýø³ÌÉèÖÃ
I/O
¶Ë¿Ú·ÃÎÊȨÄÜ¡£
ioperm
µÄʹÓÃÐèÒª¾ßÓг¬¼¶Óû§µÄȨÏÞ£¬Ö»ÓеͶ˵Ä
[0-0x3ff] I/O
¶Ë¿Ú¿É±»ÉèÖã¬ÒªÏëÖ¸¶¨¸ü¶à¶Ë¿ÚµÄȨÄÜ£¬¿ÉʹÓÃ
iopl
º¯Êý¡£ÕâÒ»µ÷ÓÃÖ»¿ÉÓÃÓ ......