52 lines
1.2 KiB
Markdown
52 lines
1.2 KiB
Markdown
# STM32-DS2482-HAL
|
|
|
|
A DS2482-100 HAL for the STM32F3/F4/H7 series
|
|
|
|
## Usage
|
|
|
|
Define the target chip, and set the compiler to C23+:
|
|
|
|
`gcc [...] --std=gnu2x -DSTM32[F3/F4/H7]`
|
|
|
|
or
|
|
```yaml
|
|
# (in STM32-for-VSCode.config.yaml)
|
|
# Compiler definitions. The -D prefix for the compiler will be automatically added.
|
|
cDefinitions:
|
|
- STM32[F3/F4/H7]
|
|
- USE_HAL_DRIVER
|
|
|
|
# ...
|
|
|
|
# Compiler flags
|
|
cFlags:
|
|
- --std=gnu2x
|
|
```
|
|
|
|
Then, configure the HAL:
|
|
|
|
```c
|
|
// (in DS2482_HAL.h)
|
|
#define MULTIPLE_DEVICES false //set to true if multiple DS2482 devices are connected
|
|
|
|
#if !MULTIPLE_DEVICES
|
|
#define DS2482_I2C_ADDR 0x00 //set to I2C address of the DS2482 device (if in single device mode)
|
|
#endif
|
|
#define DS2482_TIMEOUT_1W 100 //timeout in ms for 1-wire operations
|
|
#define DS2482_TIMEOUT_I2C 100 //timeout in ms for I2C operations
|
|
```
|
|
|
|
For multiple DS2482 devices on one chip:
|
|
- Set `MULTIPLE_DEVICES` to `true`
|
|
- Call `ds2482_create()` with the I2C handle and address
|
|
- Call `ds2482_init()` with the handle
|
|
- The HAL is ready
|
|
|
|
For just one DS2482:
|
|
- Set `DS2482_I2C_ADDR` to the I2C address
|
|
- Call `ds2482_init()` with the I2C handle
|
|
- The HAL is ready
|
|
|
|
Be sure to check the return values for error handling.
|
|
|