请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: ISO1228
尊敬的 Sirs:
我尝试使用 nINT 引脚作为中断、连接到微控制器 (MCU) 上的引脚、
只在出现变化时读取输入状态。 但是、nINT 引脚始终为低电平。
该引脚是否需要上拉电阻器? 一旦 nINT 引脚在检测到变化后变为低电平、
如何将其恢复到高电平? 读取后是否应自动变为高电平?
关于断线寄存器、即使在相应的情况下、断线位也设置为 1
引脚电平为 24V、引脚状态读取寄存器正确并设置为 1。 我这是什么
出问题了吗? 在我的 PCB 中、我遵循了开发板的设计。
我还注意到、当所有输入都为时、故障引脚变为电平 0(逻辑有效)
悬空或接地、仅在所有输入均为时才变为 1(逻辑无效)
连接至 24V。 这看起来不是正确的行为、对吧? 此外、在第一种情况下、
故障寄存器的值为 0、它无法准确反映引脚的状态。
如电路图所示、我有两个芯片采用菊花链配置。
您看到的波形对应于输入状态、断线寄存器、
和故障寄存器。 只有第一个芯片的第一个输入设置为 1、其余输入悬空。
我的讲座例程:
void dinputsLibDinputsReadStatus(){
Uint8_t txValues[DINPUTS_CHIP_MAX_N * 3]={0、0、0、0、0、 0};
uint8_t rxValues[DINPUTS_CHIP_MAX_N * 3]={0、0、0、0、 0};
//读取(菊花链,在中设置 DINPUTS_CHIP_N)
cliLibPrintDebugAsync(“DIG 输入读取状态\r\n“);
#if DINPUTS_CHIP_N =1
//对于第一个芯片
txValues[0]= DINPUTS_SPI_ADDR_WIRE_BREAK | DINPUTS_SPI_MASK_READ;
#elif DINPUTS_CHIP_N =2
//对于第一个芯片
txValues[0]= DINPUTS_SPI_ADDR_WIRE_BREAK | DINPUTS_SPI_MASK_READ;
//对于第二个芯片
txValues[1]= DINPUTS_SPI_ADDR_WIRE_BREAK | DINPUTS_SPI_MASK_READ;
#else
#error “请选择 DINPUTS_CHIP_N 的有效值“
#endif
if (spiLibMasterExchange (dinputsDev.spiIndex、dinputsDev.spiDev、txValues、rxValues、(DINPUTS_CHIP_N * 3)、 (DINPUTS_CHIP_N * 3)、0)){
dinputsLibDinputsReadStatusUpdate(rxValues);
}
否则{
dinputsLibDinputsReadStatusFail();
}
}
静态 void dinputsLibDinputsReadStatusUpdate(uint8_t *values){
cliLibPrintDebugAsync(“dinputs read status comm answered\r\n“);
#if DINPUTS_CHIP_N =1
//芯片 1(芯片 in1 -> PCB in1...)
dinputsDev.inputs =(uint16_t) values[0];
dinputsDev.wireBreak =(uint16_t) values[1];
dinputsDev.fault[0]= values[2] ;
#elif DINPUTS_CHIP_N =2
//芯片 1(芯片 in1 -> PCB in1...)
//芯片 2(芯片 in1 -> PCB in16..)
//菊花链、llegan antes los datos del chip 2.
dinputsDev.inputs =((uint16_t) reverse_bits (values[0])<< 8)|(uint16_t) values[1];
dinputsDev.wireBreak =((uint16_t) reverse_bits (values[2])<< 8)|(uint16_t) values[3];
dinputsDev.fault[0]= 值[5];
dinputsDev.fault[1] =值[4];
#else
#error “请选择 DINPUTS_CHIP_N 的有效值“
#endif
}
使用函数“reverse_bits“是因为第二个芯片的输入与编号的顺序相反。
ChA:SCLK、ChB:MOSI、CHC:MISO、CHD:CS。
msio-PCB-16x DIGITAL INPUTS.pdf