boy978880 發表於 2010-11-5 18:54:36

G145在RB-110的使用

本帖最後由 boy978880 於 2010-12-13 14:42 編輯

試了很多種方法 包括把RB的VC++使用2008與2005版本
winio那些檔案也都有放在執行檔同一個資料夾,官網上的範例程式也不能執行
找步道有什麼問題,當然G145的電源,街角都已經有確認過沒問題也有通電!
請問各位還有什麼方法幫我解答@@
不然一直被BOSS問說買了那顆都沒看過再使用!







我新增了照片 麻煩各位有使用過的幫我看一下有錯誤嗎?!

程式碼:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <roboard.h>

int main(void){
unsigned char d1,d2,d3,d4,d5,d6;
unsigned long i2c_clock = 400000L;
unsigned int i2c_address = 0x3C;

if (i2c_Initialize(I2CIRQ_DISABLE) == false)
{
printf("FALSE!! %s\n", roboio_GetErrMsg());
return -1;
}

i2c0_SetSpeed(I2CMODE_FAST, i2c_clock);

i2c0master_StartN(i2c_address >> 1,I2C_WRITE,2);//write 2 byte
i2c0master_WriteN(0x02); //mode register
i2c0master_WriteN(0x00); //continue-measureture mode

delay(100);

do
{
i2c0master_StartN(i2c_address >> 1, I2C_WRITE, 1);
i2c0master_SetRestartN(I2C_READ, 6);
i2c0master_WriteN(0x03); //Read from data register (Address : 0x03)

d1 = i2c0master_ReadN();//X MSB
d2 = i2c0master_ReadN();//X LSB
d3 = i2c0master_ReadN();//Y MSB
d4 = i2c0master_ReadN();//Y LSB
d5 = i2c0master_ReadN();//Z MSB
d6 = i2c0master_ReadN();//Z LSB
//Data : 16bits
printf("X axis :%d\n", ((d1 & 0xF0) > 0) ? ~(0xFFFF ^ (d1*256+d2)): d1*256+d2);
printf("Y axis :%d\n", ((d3 & 0xF0) > 0) ? ~(0xFFFF ^ (d3*256+d4)): d3*256+d4);
printf("Z axis :%d\n", ((d5 & 0xF0) > 0) ? ~(0xFFFF ^ (d5*256+d6)): d5*256+d6);

delay(100);
}while(getch() != 27);

i2c_Close();
return 0;
}

lucrece_lu 發表於 2010-11-8 08:12:14

本帖最後由 lucrece_lu 於 2010-11-8 08:15 編輯

Hi

之前曾經發生過 有用戶一直在 "幹橋" RoBoard 是如此的不好用 連接伺服機都不會動...
最後這位仁兄到公司來 直接看診 才發現..... 是線沒接好...
所以建議你找個時間 直接把你的裝備帶來公司這邊直接用看的會比較快

不然這樣一直的 "隔空把脈 " 實在是醫不好你的症頭

Anthony

boy978880 發表於 2010-11-9 20:22:37

還是我拍照下來PO上來給Lu大看看?!

mzw2008 發表於 2010-11-9 23:58:58

詳細照片是一定要的
因為講半天還不如有圖有真相

lucrece_lu 發表於 2010-11-10 08:54:17

我還是建議... 抽個空過來公司吧. 這樣比較快.
頁: [1]
查看完整版本: G145在RB-110的使用