Linux²Ù×÷ϵͳI2CÇý¶¯¼Ü¹¹
1£¬LinuxµÄI2CÇý¶¯¼Ü¹¹¸ÅÀÀ
LinuxÖÐI2C×ÜÏßµÄÇý¶¯·ÖΪÁ½¸ö²¿·Ö£¬×ÜÏßÇý¶¯£¨BUS£©ºÍÉ豸Çý¶¯£¨DEVICE£©¡£ÆäÖÐ×ÜÏßÇý¶¯µÄÖ°Ôð£¬ÊÇΪϵͳÖÐÿ¸öI2C×ÜÏßÔö¼ÓÏàÓ¦µÄ¶Áд·½·¨£¨±ÈÈ粻ͬµÄÖ÷оƬ¼¯³ÉµÄI2C¿ØÖÆÆ÷£©¡£µ«ÊÇ×ÜÏßÇý¶¯±¾Éí²¢²»»á½øÐÐÈκεÄͨѶ£¬ËüÖ»ÊÇ´æÔÚÔÚÄÇÀµÈ´ýÉ豸Çý¶¯µ÷ÓÃÆ亯Êý¡£
É豸Çý¶¯ÔòÊÇÓë¹ÒÔÚI2C×ÜÏßÉϵľßÌåµÄÉ豸ͨѶµÄÇý¶¯¡£Í¨¹ýI2C×ÜÏßÇý¶¯ÌṩµÄº¯Êý£¬É豸Çý¶¯¿ÉÒÔºöÂÔ²»Í¬×ÜÏß¿ØÖÆÆ÷µÄ²îÒ죬²»¿¼ÂÇÆäʵÏÖϸ½ÚµØÓëÓ²¼þÉ豸ͨѶ¡£
2£¬×ÜÏßÇý¶¯
ÔÚϵͳ¿ª»úʱ£¬Ê×ÏÈ×°ÔصÄÊÇI2C×ÜÏßÇý¶¯¡£Ò»¸ö×ÜÏßÇý¶¯ÓÃÓÚÖ§³ÖÒ»ÌõÌض¨µÄI2C×ÜÏߵĶÁд¡£Ò»¸ö×ÜÏßÇý¶¯Í¨³£ÐèÒªÁ½¸öÄ£¿é£¬Ò»¸östruct i2c_adapterºÍÒ»¸östruct i2c_algorithmÀ´ÃèÊö£º
static struct i2c_adapter pb1550_board_adapter =
{
name: "pb1550 adapter",
id: I2C_HW_AU1550_PSC,
algo: NULL,
algo_data: &pb1550_i2c_info,
inc_use: pb1550_inc_use,
dec_use: pb1550_dec_use,
client_register: pb1550_reg,
client_unregister: pb1550_unreg,
client_count: 0,
};
Õâ¸öÑùÀý¹Ò½ÓÁËÒ»¸ö½Ð×ö“pb1550”µÄadapterÇý¶¯¡£µ«Õâ¸öÄ£¿é²¢Î´Ìṩ¶Áдº¯Êý£¬¾ßÌåµÄ¶Áд·½·¨Óɵڶþ¸öÄ£¿é£¬struct i2c_algorithmÌṩ¡£
static struct i2c_algorithm au1550_algo =
{
¡¡ .name &n
Ïà¹ØÎĵµ£º
CRT È«³Æ£ºVisual C++ C RunTime Lib ¾ÍÊÇCÔËÐÐʱ¿â¡£
×¢£º ÒÔÏÂÄÚÈݲ¿·ÖÒý×ÔCSNDÖÐÏà¹ØÌÖÂÛµÄÌû×Ó£¬²¢½áºÏ×Ô¼ºµÄÀí½âÕûÀí¶ø³É¡£½ö¹©²Î¿¼¡£
1)ÔËÐÐʱ¿â¾ÍÊÇ C run-time library£¬ÊÇ C ¶ø·Ç C++ ÓïÑÔÊÀ½çµÄ¸ÅÄî:È¡Õâ¸öÃû×Ö¾ÍÊÇÒòΪÄãµÄ C ³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý.
2)C ÓïÑÔÊÇËùνµÄ“СÄں˔ÓïÑÔ£¬¾ÍÆäÓ ......
ÎÒ²»»á˵ΪʲôÔÚc++ÖÐÓÃconst±ÈdefineºÃ£¬ÒòΪÎÒ×Ô¼º¶¼Ã»ÓжàºÃµØÁìÎòµ½£¬·´¶ø»¹¾õµÃdefineÄܹ»Íê³É¸üÇ¿´óµÄ¹¦ÄÜ£¬Ö»ÒªÊ¹Óõõ±¡£
ÔÚÕâÀïҪ˵µÄÖ»ÊÇÒ»¸öС¼¼ÇÉ£¬¸ø×Ô¼º±¸ÍüÓõġ£
constÔÚCºÍC++ÖÐ×î´óµÄ²»Í¬ÊÇ£¬ÔÚCÖУ¬constĬÈϾßÓÐÍⲿÁ´½Ó£¬¶øC++ÖÐÔòÊÇÄÚ²¿Á´½Ó£¬ÄÇôÓÃÆðÀ´ÓÐʲô²»Í¬ÄØ£¿
¼ÙÈçÎÒ¶¨ÒåÁË
const int ......
ifconfig ÃüÁ²é¿´/ÅäÖÃÍøÂçÐÅÏ¢
ifconfigµÄÓ﷨Ϊ
ifconfig [-a] [-V] [-s] <interface> [[<AF>] <address>]
[[-]broadcast [<address>]]
[netmask <address>]
[up|down]
ÆäÖÐ interface ΪÍø¿¨Ãû address Ϊ IP µØÖ· broadcast ±íʾÉèÖù㲥
......