• 大小: 2.28KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-21
  • 语言: C/C++
  • 标签: PCA9539  程序  驱动  

资源简介

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);
}
}

 

评论

共有 条评论