MC33972汽车开关量检测芯片

可以检测14路低电平、8路高电平;通过SPI接口和MCU连接;


//MC33972
MC33972Handle(0x01,0xFF); //设置SP0-SP7为 高电平有效
MC33972Handle(0x09,0xFF); //设置SP0-SP7为 高阻状态
MC33972Handle(0x05,0x3FFF); //设置SG0-SG13湿润电流为16mA
MC33972Handle(0x08,0x3FFF); //设置SG0-SG13湿润电流定时器为20ms

//Cmd  命令字 Switch Status Command 0x00
//Data 命令数据
//Res  返回值,表示引脚状态
unsigned long MC33972Handle(unsigned char Cmd,unsigned short DData)
{
unsigned char i = 0;
unsigned long Res = 0;

gpio_set(MCU_MC_SCLK,0);
gpio_set(MCU_MC_CS,0);

for(i=0;i<8;i++)
{
gpio_set(MCU_MC_SCLK,1);
if(Cmd & 0x80) 
gpio_set(MCU_MC_MOSI,1);
else 
gpio_set(MCU_MC_MOSI,0);
Cmd <<= 1;
gpio_set(MCU_MC_SCLK,0);
Res <<= 1;
if(gpio_get(MCU_MC_MISO)) 
Res |= 0x01;
}
for(i=0;i<16;i++)
{
gpio_set(MCU_MC_SCLK,1);
if(DData & 0x8000) 
gpio_set(MCU_MC_MOSI,1);
else 
gpio_set(MCU_MC_MOSI,0);
DData <<= 1;
gpio_set(MCU_MC_SCLK,0);
Res <<= 1;
if(gpio_get(MCU_MC_MISO)) 
Res |= 0x01;
}
gpio_set(MCU_MC_CS,1);
return(Res);
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值