資源簡介
PCA9539驅動程序
代碼片段和文件信息
#include?“Variable.h“
#include?“FreeRTOS.h“
#include?“cmsis_os.h“
extern?I2C_HandleTypeDef?hi2c2;
uint8_t?Sdata[256];
uint8_t?Sdata_A1Sdata_A2Sdata_B1?Sdata_B2;
#define?SlaveA_Write?0xE8?
#define?SlaveA_Read??0xE9
#define?SlaveB_Write?0xEA?
#define?SlaveB_Read??0xEB
#define?Config_Port0?0x06
#define?Config_Port1?0x07
/**
??*?@brief??初始化PCA9539芯片
??*?@param??
??*?@retval?None
??*/
void?PCA9539_Init(void)
{
Sdata[0]?=?0x06;
Sdata[1]?=?0x00;?//配置為0??端口做出輸出
Sdata[2]?=?0x00;?//配置為0??端口做出輸出
HAL_I2C_Master_Transmit(&hi2c2SlaveA_WriteSdata31000);
HAL_Delay(5);
Sdata[0]?=?0x06;
Sdata[1]?=?0x00;?//配置為0??端口做出輸出
Sdata[2]?=?0x00;?//配置為0??端口做出輸出
HAL_I2C_Master_Transmit(&hi2c2SlaveB_WriteSdata31000);
HAL_Delay(5);
}
void?PCA9539_SetPower(uint16_t?Ch_Data1uint16_t?Ch_Data2)
{
for(uint16_t?i=1;i<=16;i++)
{
if(Ch_Data1?&?(1<<(16-i)))?
{
Set_Out_Channel(iOUT); ??
}
else?Set_Out_Channel(iCLOSED);
}
for(uint16_t?i=1;i<=16;i++)
{
if(Ch_Data2?&?(1<<(16-i)))?
Set_Out_Channel(i+16OUT);
else??Set_Out_Channel(i+16CLOSED);
}
}
?
- 上一篇:STM32連接EC20使用內置MQTT協議接入阿里云
- 下一篇:AD5328驅動程序
評論
共有 條評論