芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

芯片解密STM32同时采集电压电流的芯片INA219源程序

芯片解密在Keil5环境下编译的STM32驱动INA219采集芯片,可直接使用,采集的是负载端的电压,对一下因负载变化而造成电压波动,需要电压补偿的应用场合来说,芯片解密.

单片机源程序如下:

  1. #include "ina219.h"

  2. 芯片解密void INA_REG_Write(unsigned char reg,unsigned int data);

  3. 芯片解密#ifdef INA_INSIDE_IIC
  4. void INA_IIC_Delay()
  5. {unsigned char x;
  6.         for(x=1;x>0;x--)
  7.         {
  8.                 __NOP();__NOP();__NOP();__NOP();__NOP();
  9.         }
  10. }
  11. void INA_IIC_INIT(void)                //IIC初始化
  12. {
  13.         GPIO_InitTypeDef GPIO_INIT;
  14.         RCC_APB2PeriphClockCmd(IIC_RCC,ENABLE);
  15.         
  16.         GPIO_INIT.GPIO_Mode=GPIO_Mode_Out_PP;
  17.         GPIO_INIT.GPIO_Pin=IIC_SDA | IIC_SCL;
  18.         GPIO_INIT.GPIO_Speed=GPIO_Speed_50MHz;
  19.         GPIO_Init(IIC_PORT,&GPIO_INIT);
  20.         
  21.         IIC_SDA_H;
  22.         IIC_SCL_H;
  23. }

  24. void INA_IIC_SDA_OUT(void)        //SDA配置为输出
  25. {
  26.         GPIO_InitTypeDef GPIO_INIT;
  27.         GPIO_INIT.GPIO_Mode=GPIO_Mode_Out_PP;
  28.         GPIO_INIT.GPIO_Pin=IIC_SDA ;
  29.         GPIO_INIT.GPIO_Speed=GPIO_Speed_50MHz;
  30.         GPIO_Init(IIC_PORT,&GPIO_INIT);
  31. }
  32. void INA_IIC_SDA_IN(void)        //SDA配置为输入
  33. {
  34.         GPIO_InitTypeDef GPIO_INIT;
  35.         GPIO_INIT.GPIO_Mode=GPIO_Mode_IPU;
  36.         GPIO_INIT.GPIO_Pin=IIC_SDA ;
  37.         GPIO_INIT.GPIO_Speed=GPIO_Speed_50MHz;
  38.         GPIO_Init(IIC_PORT,&GPIO_INIT);
  39. }

  40. void INA_IIC_Start(void)        //开始信号
  41. {
  42.         IIC_SDA_H;
  43.         IIC_SCL_H;
  44.         INA_IIC_Delay();
  45.         IIC_SDA_L;
  46.         INA_IIC_Delay();
  47.         IIC_SDA_L;
  48. }
  49. void INA_IIC_Stop(void )        //结束信号
  50. {
  51.         IIC_SDA_L;
  52.         IIC_SCL_H;
  53.         INA_IIC_Delay();
  54.         IIC_SDA_H;
  55.         INA_IIC_Delay();
  56.         IIC_SCL_L;
  57.         
  58.         IIC_SCL_H;
  59.         IIC_SDA_H;
  60. }
  61. bool INA_IIC_ACK_Read(void)        //读取应答信号
  62. {
  63.         bool ack;
  64.         IIC_SDA_H;
  65.         INA_IIC_SDA_IN();

  66.         IIC_SCL_H;
  67.         INA_IIC_Delay();
  68.         if(IIC_SDA_READ() == SET) ack=false;
  69.         else ack=true;
  70.         IIC_SCL_L;
  71.         INA_IIC_SDA_OUT();
  72.         return ack;
  73. }
  74. void INA_IIC_ACK_Send(bool ack)        //发送应答信号
  75. {
  76.         IIC_SCL_L;
  77.         if(ack == true)
  78.                 IIC_SDA_L;
  79.         else IIC_SDA_H;
  80.         IIC_SCL_H;
  81.         INA_IIC_Delay();
  82.         IIC_SCL_L;
  83. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信