I2C×ÜÏßÔÚLinuxϵͳÖеÄÇý¶¯Éè¼Æ
¡¡1 ÒýÑÔ
¡¡¡¡Linux²Ù×÷ϵͳÒò¾ßÓÐÔ´´úÂ빫¿ª¡¢±ãÓڲüõ¡¢Óй㷺µÄ´¦ÀíÆ÷Ö§³ÖµÈÓŵ㣬³ÉΪµ±Ç°Ç¶ÈëʽϵͳµÄÈÈÃÅÑ¡Ôñ¡£»ùÓÚI2C×ÜÏߵļüÅÌÀ©Õ¹É豸Ö÷ÒªÓÃÓÚÂú×ãǶÈëʽÉ豸ÖжԶఴ¼üµÄÐèÇó£¬Çý¶¯³ÌÐòÔÚϵͳÆô¶¯Ê±¶ÔÓ²¼þ½øÐгõʼ»¯¡£ÔÚϵͳÆô¶¯ºóʵÏÖÓ²¼þºÍÓ¦ÓóÌÐòÖ®¼äµÄÊý¾Ý½»»¥¡£Õë¶ÔS3C2410΢´¦ÀíÆ÷ºÍ¼üÅÌɨÃè¹ÜÀíÆ÷¼þ£¬ÉîÈëÌÖÂÛÈçºÎÔÚǶÈëʽ²Ù×÷ϵͳarm LinuxÖÐʵÏÖZLG7290µÄÇý¶¯¡£
¡¡¡¡2 I2C×ÜÏß
¡¡¡¡I2C×ÜÏßÊÇÆ÷¼þ¼ä´®Ðд«Êä×ÜÏߣ¬ÒÔÆä¹æ·¶ºÍ´øI2C½Ó¿ÚµÄÍâΧÆ÷¼þ»ñµÃ¹ã·ºÓ¦Óá£S3C2410´¦ÀíÆ÷ÄÚÖÃÓÐI2C×ÜÏß½Ó¿Ú¡£I2C×ÜÏßÊÇÓÉÊý¾ÝÏßSDAºÍʱÖÓSCL¹¹³ÉµÄ´®ÐÐ×ÜÏߣ¬¿É·¢ËͺͽÓÊÕÊý¾Ý£¬Ã¿¸öÆ÷¼þ¶¼ÓÐÒ»¸öΨһµÄµØÖ·Ê¶±ð¡£I2C×ÜÏßÔÚ´«ËÍÊý¾Ý¹ý³ÌÖй²ÓÐ3ÖÖÐźţº(1)¿ªÊ¼ÐźţºSCLΪ¸ßµçƽʱ£¬SDAÓÉ¸ßµçÆ½ÏòµÍµçÆ½Ìø±ä£¬¿ªÊ¼´«ËÍÊý¾Ý¡£(2)½áÊøÐźţºSCLΪµÍµçƽʱ£¬SDAÓÉµÍµçÆ½Ïò¸ßµçÆ½Ìø±ä£¬½áÊø´«ËÍÊý¾Ý¡£(3)Ó¦´ðÐźţº½ÓÊÕÊý¾ÝµÄIC½ÓÊÕµ½8 bitÊý¾Ýºó£¬Ïò·¢ËÍÊý¾ÝµÄIC·¢³öÌØ¶¨µÄµÍµçƽÂö³å£¬±íʾÒÑÊÕµ½Êý¾Ý¡£CPUÏòÊܿص¥Ôª·¢³öÒ»¸öÐźź󣬵ȴýÊܿص¥Ôª·¢³öÓ¦´ðÐźţ¬CPU½ÓÊÕµ½Ó¦´ðÐźź󣬸ù¾Ýʵ¼ÊÇé¿ö×ö³öÊÇ·ñ¼ÌÐø´«µÝÐźŵÄÅжϡ£ÈôδÊÕµ½Ó¦´ðÐźţ¬ÔòÅжÏΪÊܿص¥Ôª³öÏÖ¹ÊÕÏ¡£Í¼1ΪS3C2410ºÍZLG7290µÄÁ¬½Óͼ¡£
¡¡¡¡3 Çý¶¯Ä£¿éµÄ½á¹¹
¡¡¡¡S3C2410AÄÚǶһ¸öI2C×ÜÏß¿ØÖÆÆ÷¡£ÔÚLinux²Ù×÷ϵͳÖУ¬¸Ã¿ØÖÆÆ÷µÄ×Ö·ûÐÍÇý¶¯°üÀ¨4¸öÄ£¿é£º(1)i2c-dev£ºÔ´³ÌÐòΪi2c-dev£®c£¬I2C×ÜÏß×Ö·ûÐÍÇý¶¯£¬Óë¾ßÌåʹÓõÄI2C¿ØÖÆÆ÷Î޹ء£(2)i2c-core£ºÔ´³ÌÐòΪi2c-core£®c£¬I2C×ÜÏß²Ù×÷ºËÐĺ¯Êý£¬Óë¾ßÌåʹÓõÄI2C¿ØÖÆÆ÷Î޹ء£(3)i2c-algo-s3c2410£ºÔ´³ÌÐòΪi2c-algo-s3c2410£®c£¬I2C×ÜÏß¿ØÖÆÆ÷I2CÇý¶¯Ëã·¨£¬Óë¾ßÌåµÄ¿ØÖÆÆ÷Ïà¹Ø¡£(4)i2c-s3c2410£ºÔ´³ÌÐòΪi2c-s3c2410£®c£¬I2C×ÜÏß¿ØÖÆÆ÷Ó²¼þ³éÏó²ã£¬Óë¾ßÌåµÄ¿ØÖÆÆ÷Ïà¹Ø¡£ÒÔÉÏ4¸öÄ£¿éÒÀ´ÎÊǵײãÓëÉϲãµÄ¹ØÏµ£¬I2CÇý¶¯Ä£¿éµÄ²ã´Î½á¹¹Èçͼ2Ëùʾ¡£
¡¡¡¡4 Çý¶¯Ô´ÎļþµÄ±àÒë
¡¡¡¡Çý¶¯Ô´Îļþ°üÀ¨i2c-algo-s3c2410£®c£¬i2c-dev£®c£¬i2c-core£®c£¬i2c-s3c2410£®c4¸öÔ´Îļþ¡£½«Æä±àÒëΪģ¿é£¬Ôò²úÉú4¸öÄ£¿éÎļþ£¬±àÒ빤×÷ÓÉMakefileÎļþÍê³É,ÆäÎļþÄÚÈÝÈçÏ£º
µ±ÐèҪʹÓÃI2C×ÜÏß¿ØÖÆÆ÷Çý¶¯Ä£¿éʱ£¬¿ÉÒÔʹÓÃI2C×ÜÏß¿ØÖÆÆ÷Çý¶¯µÄÉ豸¹ÜÀíÎļþloadi2c¡£¸Ã¹ÜÀíÎļþÔËÐк󣬽«×Ô¶¯ÔÚLinuxµÄ£¯dev£¯Ä¿Â¼Ï´´½¨É豸½Úµãi2c¡£loadi2cÎļþÄÚÈÝÈçÏ£º
¡¡¡¡ÓÉÓÚ¸÷Ä£¿é¼äÓÐÉÏÏÂ²ã¹ØÏµ£¬Ôò¼ÓÔØÄ£¿é˳ÐòÓ¦ÊÇ´ÓÉϵ½Ï£¬×îÏȼÓÔØi2c-core£¬×îºó¼ÓÔ
Ïà¹ØÎĵµ£º
·þÎñÃû ±ØÐ裨ÊÇ/·ñ£©ÓÃ;ÃèÊö ×¢½â
acon ·ñ ÓïÑÔÖ§³Ö ÌØ±ðÖ ......
Ò»¡¢df
1.×÷ÓÃ
dfÃüÁîÓÃÀ´¼ì²éÎļþϵͳµÄ´ÅÅ̿ռäÕ¼ÓÃÇé¿ö£¬Ê¹ÓÃȨÏÞÊÇËùÓÐÓû§¡£
2.¸ñʽ
df [options]
3.Ö÷Òª²ÎÊý
£s£º¶Ôÿ¸öNames²ÎÊýÖ»¸ø³öÕ¼ÓõÄÊý¾Ý¿é×ÜÊý¡£
£a£ºµÝ¹éµØÏÔʾָ¶¨Ä¿Â¼Öи÷Îļþ¼°×ÓĿ¼Öи÷ÎļþÕ¼ÓõÄÊý¾Ý¿éÊý¡£Èô¼È²»Ö¸¶¨£s£¬Ò²²»Ö¸¶¨£a£¬ÔòÖ»ÏÔʾNamesÖеÄÿһ¸öĿ¼¼°ÆäÖеĸ÷×ÓĿ¼ËùÕ¼µÄ ......
ËÄ¡¢quota
1.×÷ÓÃ
quotaÃüÁîÓÃÀ´ÏÔʾ´ÅÅÌʹÓÃÇé¿öºÍÏÞÖÆÇé¿ö£¬Ê¹ÓÃȨÏÞ³¬¼¶Óû§¡£
2.¸ñʽ
quota [£g][£u][£v][£p] Óû§Ãû ×éÃû
3.²ÎÊý
£g£ºÏÔʾÓû§ËùÔÚ×éµÄ´ÅÅÌʹÓÃÏÞÖÆ¡£
£u£ºÏÔʾÓû§µÄ´ÅÅÌʹÓÃÏÞÖÆ¡£
£v£ºÏÔʾûÓзÖÅä¿Õ¼äµÄÎļþϵͳµÄ·ÖÅäÇé¿ö¡£
£p£ºÏÔʾ¼ò»¯ÐÅÏ¢¡£
4.Ó¦ÓÃʵÀý
ÔÚÆóÒµÓ¦ÓÃÖдÅÅÌÅä ......
1¡¢ÓÃGCC±àÒë
1.1¡¢´´½¨Ô´Îļþ
(main.c) C Ô´Îļþ - main.c
#include
#include “reciprocal.hpp”
int main (int argc, char **argv)
{
int i;
i = atoi (argv[1]);
printf (“The reciprocal of %d is %g\n”, i, reciprocal (i ......
Link from: http://www.faqs.org/docs/Linux-mini/C++-dlopen.html
//1. == main.cpp =============================================
// How to build?
// g++ -o main main.cpp -ldl
//=======================================================
#include <iostream>
#include <dlfcn.h>
int main() { ......