首页 > 其他分享 >最简 INA226 写寄存器的代码

最简 INA226 写寄存器的代码

时间:2024-07-08 23:00:33浏览次数:9  
标签:SCL 最简 I2C value INA226 寄存器 gpio i2c data

#include "hardware/i2c.h"
#include "pico/binary_info.h"
#define I2C_SDA 16
#define I2C_SCL 17

void setup() {
  // put your setup code here, to run once:
  Serial.begin( 115200 );
  i2c_init( i2c_default, 100*1000 );
  gpio_set_function(I2C_SDA, GPIO_FUNC_I2C);
  gpio_set_function(I2C_SCL, GPIO_FUNC_I2C);
  gpio_pull_up(I2C_SDA);
  gpio_pull_up(I2C_SCL);
  bi_decl(bi_2pins_with_func(I2C_SDA, I2C_SCL,GPIO_FUNC_I2C));

    uint8_t registerid = 0x00;
    uint16_t value = 0x4527;

    uint8_t data[3];
    data[0] = 0x00;
    data[1] = value >> 8;
    data[2] = value & 0x00ff;    

    i2c_write_blocking(i2c_default, 0x40, data, sizeof(data), true );

  for( ;; )
  {

    value = 0;

    i2c_write_blocking(i2c_default, 0x40, & registerid, sizeof(registerid), true );
    i2c_read_blocking (i2c_default, 0x40, (uint8_t *) & value, sizeof(value), false );

    value = value >> 8 | value << 8;

    Serial.printf( "%X\n", value );
  }

}

改写 0x00 寄存器的初始值,并获取打印这个寄存器的值。

标签:SCL,最简,I2C,value,INA226,寄存器,gpio,i2c,data
From: https://blog.csdn.net/draracle/article/details/140280926

相关文章

  • 最简单的浏览器插件启用github双因素身份验证 (2FA)方法
    在github贡献一定的代码量后,github会要求启用双因素身份验证,否则登录会受到影响。一般有短信验证,app扫码验证,这里推荐一种最简单的方式,用浏览器插件验证。首先,在edge浏览器的微软插件商店(https://microsoftedge.microsoft.com/addons/Microsoft-Edge-Extensions-Home)搜索Aut......
  • 这一篇让你更了解GPIO_Init()函数,了解CNF和MODE是如何配置输入输出模式,GPIOX_CR端口配置
    1GPIO初始化配置函数 GPIO_Init(GPIOC,&GPIOInitStruct); 1.1  正常的初始化函数代码1.2解读GPIO_Init(GPIOC,&GPIOInitStruct); 所以GPIOC的地址为  0x40000000+0x00010000+0x00001000=0x40011000STM32F103C8T6通用与复用功能I/O(GPIO与AFIO)、......
  • [oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
    Guido的简历......
  • ARMv8寄存器详解
    文章目录一、ARMv8寄存器介绍二、通用寄存器三、PSTAE寄存器四、特殊寄存器五、系统寄存器一、ARMv8寄存器介绍本文我来给大家介绍一下ARMv8的寄存器部分,ARMv8中有34个寄存器,包括31个通用寄存器、一个栈指针寄存器SP(X31),一个程序计数器寄存器PC,一个处理器状态寄存......
  • 课程设计——基于FPGA的双向移位寄存器
    基于FPGA的双向移位寄存器摘 要本文使用verilogHDL语言设计双向移位寄存器,使电路受外部信号控制,实现数字信号的双向移位等功能,其电路设计模块主要分为三个部分,分别为接受判断控制信号的组合逻辑电路部分、实现存储、运算和输出数据的时序逻辑电路部分以及时钟信号输入部分......
  • 寄存器
    寄存器是计算机中一种重要的数据存储单元,它具有快速访问和操作的特点。在STM32单片机中,寄存器是CPU与外设之间进行数据交互的关键。STM32单片机的寄存器通常分为通用寄存器、特殊功能寄存器和外设寄存器。通用寄存器用于存储通用数据,而特殊功能寄存器则用于控制和配置单片机......
  • 深入解析:CPU寄存器的关键角色与工作原理
    在计算机组成原理中,寄存器是CPU中用于存储数据的关键单元。本文将详细介绍各种寄存器的作用和分类,帮助基础小白更好地理解计算机系统的工作原理。什么是寄存器?寄存器(Register)是CPU中用于存储数据的单元。它们在运算器和控制器中起到保存数据和指令的作用。寄存器的容量......
  • 全网最简单由浅入深的二极管知识,重新归纳整合,是初学者的宝藏文章
        二极管具有电流单向导通的特性,二极管可大致分为半导体二极管和真空二极管。半导体二极管是制作在半导体材料上的,并不具有实际的管状结构,而早期的二极管却真真切切地是被制作在玻璃管中的,它的工作原理也和半导体二极管不同。    1873年,弗雷德里克·格思里(Fr......
  • 第3章 寄存器(内存访问)
    第3章寄存器(内存访问)3.1内存中的字存储CPU中用16位寄存器存储一个字,高8位存放高位字节,低8位存放低位字节。内存单元是字节单元,一个单元存放一个字节,一个字需要使用两个连续的内存单元进行存放,这个字的低位字节存放在低地址单元,高位字节存放在高地址单元问题:0地址......
  • 寄存器
    寄存器是计算机中一种重要的数据存储单元,它具有快速访问和操作的特点。在STM32单片机中,寄存器是CPU与外设之间进行数据交互的关键。STM32单片机的寄存器通常分为通用寄存器、特殊功能寄存器和外设寄存器。通用寄存器用于存储通用数据,而特殊功能寄存器则用于控制和配置单片机......