Error handling for PCA9535D?
This commit is contained in:
parent
ea45c3cbfb
commit
00bb72d7b7
@ -28,6 +28,7 @@
|
||||
#define PCA_I2C_BASE_ADDRESS 0x40
|
||||
|
||||
void PCA9535_init(I2C_HandleTypeDef* hi2c, uint8_t subadr);
|
||||
HAL_StatusTypeDef PCA9535_writeRegister(uint8_t reg, uint8_t data);
|
||||
|
||||
void PCA9535_setGPIOPinDirection(uint8_t Port, uint8_t pin, uint8_t state);
|
||||
void PCA9535_setGPIOPinOutput(uint8_t Port, uint8_t pin, uint8_t state);
|
||||
|
@ -31,8 +31,23 @@ void PCA9535_init(I2C_HandleTypeDef* hi2c, uint8_t subadr) {
|
||||
pcai2c = hi2c;
|
||||
deviceadr = PCA_I2C_BASE_ADDRESS | (subadr << 1);
|
||||
|
||||
uint8_t initalizationconfig[7] = {0x02, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF};
|
||||
HAL_I2C_Master_Transmit(pcai2c, deviceadr, initalizationconfig, 7, 1000);
|
||||
if (PCA9535_writeRegister(2, 0) != HAL_OK) {
|
||||
Error_Handler();
|
||||
}
|
||||
if (PCA9535_writeRegister(3, 0) != HAL_OK) {
|
||||
Error_Handler();
|
||||
}
|
||||
if (PCA9535_writeRegister(6, 0) != HAL_OK) {
|
||||
Error_Handler();
|
||||
}
|
||||
if (PCA9535_writeRegister(7, 0) != HAL_OK) {
|
||||
Error_Handler();
|
||||
}
|
||||
}
|
||||
|
||||
HAL_StatusTypeDef PCA9535_writeRegister(uint8_t reg, uint8_t data) {
|
||||
uint8_t dataarray[2] = {reg, data};
|
||||
return HAL_I2C_Master_Transmit(pcai2c, deviceadr, dataarray, 2, 1000);
|
||||
}
|
||||
|
||||
void PCA9535_setGPIOPinDirection(uint8_t Port, uint8_t pin, uint8_t state) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user