参考文献 MCP4017 datasheet

1.首先确定通信方式: 看其数据手册易得 iic

2.使用的是iic因此比寻找其写命令和读命令,和数据对应的读写方式。

从此可以看出,写命令是0x5E.


读命令则是,0x5F

3.iic与其通信的代码如下

void write_resistor(uint8_t value)
{   
	I2CStart();
	I2CSendByte(0x5E);  
	I2CWaitAck();
		
	I2CSendByte(value);  
	I2CWaitAck();
	I2CStop();
}

uint8_t read_resistor(void)
{   
	uint8_t value; 
	I2CStart();
	I2CSendByte(0x5F);  
	I2CWaitAck();	
	
	value = I2CReceiveByte();
	I2CSendNotAck();
	I2CStop();
	return value;
}

ps:代码为国信长天提供的示例代码。

4.如何得出该电阻的阻值
内部原理如下:R(bw)的阻值即为所要求的阻值。

Rs的阻值为 AB之间的总电阻除以127;(0x7f换算成10进制)

其中Rw的阻值几乎为零,可以忽略不计。N为我们写入的数据。Rab为常量。

找到对应的型号,我们可以得出,Rab的值为100000欧姆。

因此当我们写入数据为,127时,此时的电阻阻值为100K欧姆。(0.78740127)K欧姆*

	write_resistor(127);  //写入数据

例程代码在这

更多推荐

可编程电阻-----MCP4017T-104ELT