|
I2C HAL DS2482, Работа с ds2482 средствами HAL STM |
|
|
|
Jan 31 2018, 06:50
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 14-03-09
Из: Краснодарский край
Пользователь №: 46 094

|
Здравствуйте, подключен датчик температуры ds1820 через ds2482
Кому нибудь удавалось работать с ds2482 средствами Stm32 HAL драйверов?
Подскажите плиз, никак не могу дать ума. Протоколом ds2482 предусмотрены повторные старты/побайтное чтение чтение
Судя по всему нужно использовать функции: HAL_I2C_Master_Sequential_Transmit_IT(...) HAL_I2C_Master_Sequential_Receive_IT(...)
Но документации на эти функции толком нет. Инструментально отдебажить шину нечем, исходники драйверов смотрел, но там возможны неявные генерации start/stop на аппаратном уровне (толком непонятно).
Если есть инфа, по работе этих функций (интересует что конкретно происходит на шине, если эти функции вызывать в разных режимах: - I2C_FIRST_FRAME - I2C_NEXT_FRAME - I2C_FIRST_AND_LAST_FRAME - I2C_LAST_FRAME
Или если есть опыт работы с ds2482 через HAL, покажите как.
Просидел два дня(
Сообщение отредактировал simark1979 - Jan 31 2018, 06:50
|
|
|
|
|
 |
Ответов
|
Feb 1 2018, 07:55
|
Знающий
   
Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245

|
Можете посмотреть на реализацию в HAL функций: HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout); HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout); Не смотрите на их название, они как раз делают такие вещи, выдают адрес устройства и байты откуда считать или записать и потом без стопа происходит считывание или запись, по поводу uint16_t MemAddress если указать в uint16_t MemAddSize = I2C_MEMADD_SIZE_8BIT то он будет 8 битный и будет отправляться один байт.
Если имя функций смущает, напишите для них свои имена. :-)
Если используете DMA или прерывания для работы с I2C то в HALe есть подобные функции и для них. HAL_I2C_Mem_Write_IT HAL_I2C_Mem_Read_IT
HAL_I2C_Mem_Write_DMA HAL_I2C_Mem_Read_DMA
|
|
|
|
Сообщений в этой теме
simark1979 I2C HAL DS2482 Jan 31 2018, 06:50 sadat На этом форуме люди ценят своё время - поэтому ожи... Jan 31 2018, 10:37 simark1979 Цитата(sadat @ Jan 31 2018, 13:37) На это... Jan 31 2018, 16:38  0men Цитата(simark1979 @ Jan 31 2018, 19:38) О... Jan 31 2018, 16:52   simark1979 Цитата(0men @ Jan 31 2018, 19:52) Что там... Jan 31 2018, 17:06    0men Цитата(simark1979 @ Jan 31 2018, 20:06) Е... Jan 31 2018, 17:28     simark1979 Цитата(0men @ Jan 31 2018, 20:28) под пов... Jan 31 2018, 18:41      Forger Цитата(simark1979 @ Jan 31 2018, 21:41) К... Jan 31 2018, 18:55       simark1979 Цитата(Forger @ Jan 31 2018, 21:55) Чего-... Jan 31 2018, 19:06        Forger Цитата(simark1979 @ Jan 31 2018, 22:06) п... Jan 31 2018, 19:13         simark1979 Цитата(Forger @ Jan 31 2018, 22:13) Сильн... Jan 31 2018, 19:23          Forger Цитата(simark1979 @ Jan 31 2018, 22:23) ... Jan 31 2018, 19:30           simark1979 Возвращаясь к теме топика)
Докладываю, что в доку... Jan 31 2018, 20:29      0men Цитата(simark1979 @ Jan 31 2018, 21:41) Д... Feb 1 2018, 11:11  Forger Цитата(simark1979 @ Jan 31 2018, 19:38) М... Jan 31 2018, 17:59 pitt Забыть про Куб, выучить матчасть. Примеры работы с... Jan 31 2018, 12:52 0men без осциллографа пытаться скрестить слона и носоро... Jan 31 2018, 13:14 Forger Цитата(simark1979 @ Jan 31 2018, 09:50) П... Jan 31 2018, 13:17 simark1979 Цитата(Lagman @ Feb 1 2018, 10:55) Можете... Feb 1 2018, 19:01
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|