Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¹ØÓÚLINUXµÄ I2C,¸ßÊÖËٶȽø£¡

ÎÊÌâÒÀ¾É¡£¡£ÒÔΪ×Ô¼º½â¾öÁË
Ϊʲôioctl(fd,I2C_SLAVE,0x50) ÕýÈ·£¬Õâ¸öÊÇEEPROM
¶øioctl(fd,I2C_SLAVE,0xea) ÔòÌáʾINVALID ARGUMENT£¿ Õâ¸öÊÇI/OÀ©Õ¹Æ÷¼þ
¿ÉÒԿ϶¨µÄÊÇ£¬Ó²¼þûÎÊÌâµÄ£¬ÒòΪ±ðµÄCPU²»ÓÃlinux¿ÉÒÔ¿ØÖÆÕâÁ½¸öÆ÷¼þ
¹À¼ÆÊǵØÖ·²»¶Ô£¬ÄãÓ¦¸Ã¸øµÄÊǸß6λµÄµØÖ·£¬È»ºó¼Ó¶Áд룬
±ÈÈ磺 0x50Æäʵ¶ÔÓ¦µÄÊÇ0xA0£¬
¹À¼ÆÄãÓ¦¸ÃËÍ0x75(0xEA>>1);

ÄÚºËÀï¹ØÓÚI2CµÄioctlÓÐÕâôһ¶Î£º
switch(cmd){
case I2C_SLAVE:
case I2C_SLAVE_FORCE:
    if((arg>0x3ff)||
    (((client->flags&I2C_M_TEN)==0)&&arg>0x7f)
    return -EINVAL;
.....

ÆäÖÐarg¾ÍÊÇioctl´«µÝµÄÆ÷¼þµØÖ·£¬ÎÒÉèÖÃ0x7f֮ǰ¶¼ÊÇ¿ÉÒԵ쬵«ÊÇ0x7fÖ®ºóµÄµØÖ·¶¼»á³öÏÖ-EINVALµÄ´íÎó£¬0x7fÊÇÒ»¸öʲôֵ£¿  ΪʲôÉ趨µÄÊÇÕâ¸öÖµ£¿£¿

ÄǾͶÔÁË£¬ÒòΪÕâÀï¸øµÄÊǸß7룬CPU»á×Ô¶¯ÔÚ×îºóһλ¼ÓÉÏR/W룬Õâ¸öÊǺÍCPU¼Ü¹¹Ïà¹ØµÄ¡£
±ÈÈç˵Èç¹ûÊÇslaveµØÖ·ÊÇ0xA0,ÄÇôÄãÖ»ÐèÒª¸ø0x50£¨0xA0>>1£©,
CPU»òÕß¿ÉÄÜÇý¶¯»á×öÕâÑùµÄ´¦Àí£º (0x50 < < 1) | R/W,Õâ¾ÍÊÇ×îÖյĵØÖ·¡£



ÕâÀﻹÓëÀ©Õ¹µÄʮλµØÖ·ºÍ7λµØÖ·Óйصģ¬7λµØÖ·×î´óÖ»Äܵ½0x7f¡£Â¥Ö÷ÕâÀïÓ¦¸ÃÊÇ7λµØÖ·Ä£Ê½¡£

¶÷£¬Â¥ÉϵÄ˵µÄû´í£¬²»¹ýÎÒËÍ0x75µØÖ·£¬¶ÁдµÄʱºò³öÏÖ
at91_i2c: timeout 3

¶øwriteº¯ÊýÈ´·µ»Øsuccess

ÕâÊÇɶԭÒò£¿

ÄÇÄã¾Í¿´¿´´úÂ룬¿´Õâ¸ötimeoutÊÇʲôԭÒòµ¼Öµġ£



¿´ÁËÏ£¬TIMEOUTÊÇÓÉÓÚ´ÓÆ÷¼þûÓÐÓ¦´ð£¬ÓÃʾ²¨Æ÷¿´ÁËÏ£¬È·ÊµÊÇÕâÑù¡£


Ïà¹ØÎÊ´ð£º

C ³ÌÐòÎÊÌâ (¶þ) - C/C++ / CÓïÑÔ

ÎÊһϣº
#include <stdio.h>
int main()
{
  char x, y, z;
  int i;
  int a[16];
  for(i=0; i<=16; i++)
  {
  a[i] = 0;
  ......

cÖеÄתÒå×Ö·ûÎÊÌâ

    '\108'×÷Ϊ×Ö·û³£Á¿¶Ô²»¶Ô£¿
תÒå×Ö·û'\ddd'±íʾ3λ8½øÖÆËù´ú±íµÄ×Ö·û¡£ µ«ÊÇ108²»ÊÇÕýÈ·µÄ8½øÖƱíʾ·½·¨£¬Òò´ËÓ¦¸ÃÊÇ´íÎóµÄ¡£
µ«ÊÇchar a='\108'; Ϊʲô±àÒë²»³ö´íÄØ£¿
\108 û³¬¹ý ......

̽Çó³öc£«+¡¢cµÄ֪ʶ

      ÏÖÔÚÓйØc++¡¢cµÄÊé¼®£¬ÄÇЩÊéÊǽÏÉî²ã´ÎµÄ£¿Çë½éÉܼ¸±¾£¿


#include <iostream>
using namespace std;
int funhion(int x, int y )
{
int m,n;
    ......

ÓÃc/c++¶¨Î»É¾³ýÒ»ÐеÄÎÊÌâ

ÓÃc/c++¶¨Î»É¾³ýÒ»ÐеÄÎÊÌâ¡£

ÎÊÌâ±³¾°£º

ËùÐèÊý¾ÝÏ൱´ó¡£aÓëbÎļþ¾ùΪһ×éÎļþ£¨a1£¬a2¡­£¬b1£¬b2¡­£©£¬aÎļþÓÐ×î´óÊý¾ÝÐÐÊý£¨Èç5000£©£¬ÒÔÐеÄÐÎʽ£¬´ÓaÎļþÖжÁÈ¡Êý¾Ý£¬½«aÖв»ÄÜ´¦ÀíµÄÊý¾Ý·ÅÔÚbÎ ......

ÇóÕ䯷£¬´ÓÍ·ÎļþÖн«C½á¹¹½âÎö²¢Êä³ö³öÀ´¡£

±³¾°£º
£­£­£­£­£­£­£­£­
Í·Îļþdb_method.h¾­¹ýÃÀ»¯ºó´æÔÚÏÂÃæ¼¸Öֽṹ¶¨ÒåÀàÐÍ
typedef struct
{
BYTE id;
BYTE idAsync;
DM_T dmInfo;
CHAR tbName[MAX_TBNAME_LEN];
} REC ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ