[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: RD3AVJ 
Форум » форумы » Общие вопросы по Bascom-AVR » MMA8451 GY-45 модуль 3-х осевой цифровой акселерометр (I2C)
MMA8451 GY-45 модуль 3-х осевой цифровой акселерометр
qewinДата: Четверг, 23.11.2017, 12:21 | Сообщение # 1
Группа: Пользователи
Сообщений: 48

Статус: Offline
Уважаемые форумчане! Прошу помощи, хотя бы кусочка рабочего кода в Bascome кто имел дело с этим модулем. Спасибо . Сам не могу разобраться 
в даташите.


 
qewinДата: Четверг, 23.11.2017, 20:53 | Сообщение # 2
Группа: Пользователи
Сообщений: 48

Статус: Offline
Нашел ! Как раз кусочек и он работает! Буду разбираться . Может кому сгодиться.

Config Sda = Portc.4                                        'I2C I/Os
Config Scl = Portc.5
Config Twi = 400000
I2cinit

Dim Mma_8451q_read As Byte
Dim Mma_8451q_write As Byte
Dim Gyro_stat As Byte
Dim Xx As Byte
Dim Xz As Byte
Dim Xy As Byte
Dim Info As Byte

Mma_8451q_read = &H39
Mma_8451q_write = &H38

'3) Auf STDBY stellen
'I2cstart                                                    'STDBY Mode
'I2cwbyte Mma_8451q_write
'I2cwbyte &H2A
'I2cwbyte &B00000110                                         'FIFO auf aktuellsten messswert
'I2cstop

'4)FIFO einstellen
I2cstart                                                    'FIFO Einstellen
I2cwbyte Mma_8451q_write
I2cwbyte &H09
I2cwbyte &B01000000
I2cstop

'5) Auf Aktiv stellen
I2cstart                                                    'Active Mode
I2cwbyte Mma_8451q_write
I2cwbyte &H2A
I2cwbyte &B00000111                                         'FIFO auf aktuellsten messswert + 8bit
I2cstop

I2cstart
I2cwbyte Mma_8451q_write
I2cwbyte &H00
I2crepstart
I2cwbyte Mma_8451q_read
I2crbyte Gyro_stat , Nack
I2cstop

Do

I2cstart
I2cwbyte Mma_8451q_write
I2cwbyte &H01                                           '8bit X (MSB_X)
I2crepstart
I2cwbyte Mma_8451q_read
I2crbyte Xx , ack
I2crbyte Xz , ack
I2crbyte Xy , Nack
I2cstop

'Xx   ---------------------------------
'Xz                             Эти переменные X / Y / Z  можно выводить на лсд.
'Xy
' Bin(gyro_stat) --------------------

waitms 500

Loop




Сообщение отредактировал qewin - Четверг, 23.11.2017, 21:17
 
Форум » форумы » Общие вопросы по Bascom-AVR » MMA8451 GY-45 модуль 3-х осевой цифровой акселерометр (I2C)
Страница 1 из 11
Поиск: