软件判断从器件是否接入的一种技巧

在实际的工程项目中,有时候会碰到两款差异不大的产品,设计的时候共用一款PCB,软件也共用一套软件。这个时候,我们可以开辟一个IO口,用于侦测实际应用的是哪款产品。

如上图所示,假如我们开发的是A和B两款产品,在A产品PCB中,R101空贴,那么IO口读取到的是高电平,那么可以通过IO口的读取状态(高)判断是A产品;在B产品PCB中,R16和R101都要贴,那么IO口读取的就是低电平,可以以此判断产品是B产品。


问题:在开发中,主MCU与外部器件进行SPI通讯,在判断是A或者B产品的时候,利用主MCU往从器件寄存器写入0xff数值,然后在读取从器件的寄存器是否是0xff数值,以此判断从器件是否接入。但是在应用中发现,在常温时候,从器件悬空,SPI通讯管脚都处于悬空状态,读取到的是0x00,在低温状态下,读取的数值变为0xff,导致了软件的误判!所以,应用此种方式判断从器件是否接入是不安全的,正确的做法应该同文章开头讲述的那样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值