本人是新手,请问pic16f917与mcp3421之间的I2C通信问题

2020-02-06 09:57发布

pic16f917与mcp3421之间的通信时采用I2C方式,但是两者之间的数据究竟是如何传输的,有些搞不清楚,资料也看了些。希望哪位大哥能指点一下,小弟也是刚学习pic单片机的,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
yklstudent
1楼-- · 2020-02-07 05:13
有用的就这么点而已
int32 MCP3421_READ()
{
         int read_value_a,read_value_b,read_value_c,read_value_d,read_value_e,ERROR;
         int32  value_adc=0x00;
         output_float(MCP3421_SCL);
         output_float(MCP3421_SDA);
         i2c_start();  
         if (i2c_write(0B11010000)==0)   
         if (i2c_write(0B10001000)==0)
         i2c_stop();
        delay_ms(10);
         read_value_a=0;
         read_value_b=0;
         read_value_c=0;
         read_value_d=0;
         read_value_e=0;
         i2c_start();
        if (i2c_write(0B11010001)==0)   
     {
                 read_value_a=i2c_read(1);
                 value_adc=value_adc+read_value_a;
                 value_adc=value_adc<<8;
                 read_value_b=i2c_read(1);
                 value_adc=value_adc+read_value_b;
                 read_value_c=i2c_read(1);               
                read_value_d=i2c_read(1);
                 read_value_e=i2c_read(0);
                 i2c_stop();
                 read_value_a=ERROR;
         }
         return(value_adc);
}
zbm2007
2楼-- · 2020-02-07 07:33
yklstudent 发表于 2012-5-3 09:46
有用的就这么点而已
int32 MCP3421_READ()
{

用51的可以实现吗   我没用过PIC呢
zbm2007
3楼-- · 2020-02-07 08:49
yklstudent 发表于 2012-5-3 09:46
有用的就这么点而已
int32 MCP3421_READ()
{

我用的STC90C516RD+  程序怎么改呢   谢谢大侠!!!
yklstudent
4楼-- · 2020-02-07 14:42
 精彩回答 2  元偷偷看……
f117_2r
5楼-- · 2020-02-07 19:24
yklstudent 发表于 2012-5-5 10:15
自己先去把I2C通信学学吧

你的头像真的太好看了,对了MCP3421零卖一般多少一个,他的稳定性怎么样,比ADS1110如何
fengxin32
6楼-- · 2020-02-07 21:00
taobao上有卖4.6的
我也对这个芯片感兴趣,拿来做多路隔离的万用表O(∩_∩)O哈哈~

一周热门 更多>