linuxÏÂi2c¿ØÖÆradioµÄÎÊÌâ
ĿǰÓÃut6410ÏëʵÏÖ radioµÄ¹¦ÄÜʹÓÃsi47xxµÄÄ£¿é ut6410±¾ÉíÓÐÌṩi2cµÄ½Ó¿ÚºÍÇý¶¯ kernel linux2.6.24
Ó²¼þ²¿·Ý問題Åųý ÓÐÓÃʾ²¨Æ÷ sda sck½ÅλÓÐѶºÅ³öÀ´.
ÏÖÔÚÓöµ½µÄ×´¿öÊÇÏë´Óuser space͸¹ýi2c¶Ôsi47xx¶ªcmd µ«ÊÇwrite read»Ø´«¶¼ÊÇ-1 ²¿·Ý´úÂëÈçÏÂ:
#define I2C_DEVICE "/dev/i2c-0"
int fd;
/* open device */
fd = open(I2C_DEVICE, O_RDWR, 0);
ioctl(fd,I2C_SLAVE, 0x22); //radio_address_w
unsigned char abDataBuf[] = {0x01,
0x81, /// Set to AM Receive. Enable interrupts.
0x05};
if((write(fd, abDataBuf, 3))!=3){
fprintf(stderr,"I2C Write Fail\n");
}
close(fd);
#./i2ctest
I2C Write Fail
ÇëÎÊΪʲôwrite»Ø´«ÊÇ-1 Ϊʲô»áдÈëʧ°Ü? ÎÒÓÐÄıßûÓÐ×¢Òâµ½?ÏÖÔÚ²»ÖªµÀÄıßÓÐÎÊÌ⿨ÔÚÕâºÜ¾ÃÁËÇëºÃÐĵĴó´ó°ï°ïæ
i2cÇý¶¯µÄÎÊÌ⣬i2c slaveµØÖ·ÊÇ·ñÉè¶Ô£¿¼Ä´æÆ÷µØÖ·ÊÇ·ñÉè¶Ô£¬ÆµÂÊÊÇ·ñµÃÌ壿
ÔÙûÓÐÊý¾Ý´«ÊäµÄʱºò SDA ºÍ SCL ÊÇ·ñ¶¼Îª¸ß£¿
{{--
Ïà¹ØÎÊ´ð£º
ÈçÌ⣬C/C++ÖеÄexeclÔõôµ÷ÓÃдºÃµÄjava³ÌÐò£¬
execl("/opt/java1.5/bin/java","MyClass",NULL);
ÕâÑùµÄ²»ÐÐŶ¡£
²»»á.
ÔËÐÐjava³ÌÐò
ÕÒ¹¤¾ß²é¿´Ò»ÏÂÄǸö³ÌÐòµÄÃüÁîÐÐ
ËÑË÷Ï£ºjni ......
±¾ÈËÕýÔÚÓÃJava×öÒ»¸öC/S¼Ü¹¹µÄÏîÄ¿£¬
¿ÉÊÇÓÉÓÚÏîÄ¿±È½Ï´ó£¬Ç°ÆÚ¶Ô¼Ü¹¹µÄÉè¼ÆÓÈÆäÖØÒª£¬ÒòΪºóÆÚ¿ÉÄÜËæÊ±»á¼Ó¸ö¹¦ÄÜ»òÕßÈ¥µôijЩ¹¦ÄÜ¡£
ËùÒÔÌØµØÑ°ÇóÈçºÎÉè¼ÆC/SµÄ¼Ü¹¹Ê¹³ÌÐò¸ü¼ÓÃæÏò¶ÔÏó¸ü¼ÓÒ×ÓÚά ......
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......
ÇëÎÒÓÃFCKÉÏ´«Îļþ,ÔÚ±¾µØµÄwindows»úÉϲâÊÔ¿ÉÒÔ£¬µ«²¿Êðµ½linux·þÎñÆ÷ÉϾÍÉÏ´«²»ÁËÎļþ£¬ÉÏ´«Îļþʱһֱ¿¨ÔÚÄÇÀï¡£Íû¸÷λ´óϺָµã£¬Ð»Ð»£¡
·¹ý£¬°ïÄ㶥һϡ£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£
ÉÏ´«ÎļþµÄ·¾¶ÎÊÌ⣬ ......