dorkmoom
|
|
1 | |
i2c lsm30305.04.2011, 20:11. Показов 4651. Ответов 0
Метки нет (Все метки)
Народ плиз объясните нубу что я не так делаю с "lsm303"
Код
var magX,magY,magZ,accX,accY,accZ,CntEeprom: integer; var magX1,magY1,magZ1,accX1,accY1,accZ1 :array[4]of char; var mac_buffer : array[0..5] of integer; var tmra : Double; // var str : byte; var uart_rd :integer; var str :array[0..5] of char; procedure mag_init(); begin y2s1_stort(); y2s1_wr(0x3C); y2s1_wr(0x00); y2s1_wr(0x14); I2C1_Repeated_Start; I2C1_Wr(0x3C); I2C1_Wr(0x02); I2C1_Wr(0x00); I2C1_Stop; end; procedure magrd(); var i : word; begin mac_buffer[0]:=0; mac_buffer[1]:=0; mac_buffer[2]:=0; mac_buffer[3]:=0; mac_buffer[4]:=0; mac_buffer[5]:=0; PORTA:=255; I2C1_Start; I2c1_rd(0x3c); I2c1_rd(0x02); mac_buffer[0]:=y2s1_rd(0x03); mac_buffer[1]:=y2s1_rd(0x04); mac_buffer[2]:=y2s1_rd(0x05); mac_buffer[3]:=y2s1_rd(0x06); mac_buffer[4]:=y2s1_rd(0x07); mac_buffer[5]:=y2s1_rd(0x08); I2C1_Stop; // Delay_ms(1000); magX:=mac_buffer[0] shl 8 + mac_buffer[1]; magY:=mac_buffer[2] shl 8 + mac_buffer[3]; magZ:=mac_buffer[4] shl 8 + mac_buffer[5]; PORTA:=0; end; begin PORTB := 0; ADCON0:=0; ADCON1:=0; PORTA:=0; TRISA:=0; TRISB := 0; UART1_Init(9600); I2C1_Init(400000); Delay_ms(100); mag_init(); while trui do begin if (UART1_Data_Ready() <> 0) then begin magrd(); UART1_Write(magX); UART1_Write(magY); UART1_Write(magZ); end; end; end. |
05.04.2011, 20:11 | |
Ответы с готовыми решениями:
0
Конвертер i2c в usb - MIKROE-1421, FTDI click USB 2.0 to I2C для ПК I2C i2c 3.3- 5.0 v Attiny828 I2C LIS302DL + I2C |
05.04.2011, 20:11 | |
05.04.2011, 20:11 | |
Помогаю со студенческими работами здесь
1
Счетчик с I2C STM32F3, I2C I2C с 24с04 I2C непонятки I2C программатор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |