当前位置: 首页 > news >正文

【NCS随笔】nRF54L15初始化一个I2C外设

nRF54L15初始化一个I2C外设
本文章主要是讲解如何使用nRF54L15初始化一个I2C

一、如何初始化

1、添加宏
CONFIG_I2C=y
2、添加overlay

工程目录下新建一个nrf54l15dk_nrf54l15app.overlay文件,在编译选型添加此overlay
在这个overlay里面添加I2C的节点

&pinctrl {i2c22_default: i2c22_default {group1 {psels = <NRF_PSEL(TWIM_SCL, 1, 11)>,<NRF_PSEL(TWIM_SDA, 1, 12)>;bias-pull-up;};};i2c22_sleep: i2c22_sleep {group1 {psels = <NRF_PSEL(TWIM_SCL, 1, 11)>,<NRF_PSEL(TWIM_SDA, 1, 12)>;low-power-enable;};};
};&i2c22 {status = "okay";clock-frequency = <I2C_BITRATE_STANDARD>;pinctrl-0 = <&i2c22_default>;pinctrl-1 = <&i2c22_sleep>;pinctrl-names = "default", "sleep";mysensor: mysensor@77 {compatible = "i2c-device";status = "okay";reg = <0x77>;};
};
3、添加代码
3.1

添加代码

#include <zephyr/kernel.h>
#include <zephyr/drivers/i2c.h>
#include <zephyr/sys/printk.h>#define I2C_NODE DT_NODELABEL(mysensor)//main函数里面添加printf("Hello World! %s\n", CONFIG_BOARD_TARGET);static const struct i2c_dt_spec dev_i2c = I2C_DT_SPEC_GET(I2C_NODE);if (!device_is_ready(dev_i2c.bus)) {printk("I2C bus %s is not ready!\n\r",dev_i2c.bus->name);return -1;
}printk("I2C bus %s is  ready. \n");// 写寄存器 0x03,写入 0x8Cuint8_t config[2] = {0x03, 0x8C};int ret = i2c_write_dt(&dev_i2c, config, sizeof(config));if (ret != 0) {printk("Failed to write to I2C device address %x at reg. %x\n", dev_i2c.addr, config[0]);return ret;}// 读寄存器 0x03// 先写寄存器地址,再读数据uint8_t reg_addr = 0x03;uint8_t data = 0;ret = i2c_write_read_dt(&dev_i2c, &reg_addr, 1, &data, 1);if (ret != 0) {printk("Failed to read from I2C device address %x at reg. %x\n", dev_i2c.addr, reg_addr);return;}//printk("Read from I2C device address %x at reg. %x the value %x\n", dev_i2c.addr, reg_addr, data);return 0;

可以看到I2C准备好了,不过我没有外挂I2C设备,所以写数据失败了
在这里插入图片描述

你的点赞、收藏和评论是对我最大的支持,有问题多多指教,如果有需要Nordic开发板、Nordic的芯片以及Nordic技术支持的可以在个人资料获取我的联系方式,感谢读者支持!
http://www.dtcms.com/a/428931.html

相关文章:

  • 做西点网站手机网站建设的规划
  • 公司免费招聘网站天津建设工程评标专家信息网
  • 福田附近网站建设做网站怎么做的
  • LeetCode每日一题——移动零
  • 音乐网站开发环境描述英文公司网站
  • 漂亮大气网站wordpress图片无损压缩
  • 自己优化网站合肥市住建局官方网
  • 个性化定制网站有哪些中国企业网站模板
  • 深圳市做网站的有那些公司莱西做网站公司
  • wordpress建博客教程网站维护优化
  • 企业网站怎么建设南京企业做网站
  • python可以做的网站论文今天的新闻联播主要内容
  • 九一制作厂网站wordpress for ipad
  • 江门公司网站制作微信公众号缴费
  • 小鱼在线网站建设下载谷歌浏览器
  • 网站建设款分录定制做网站平台
  • 74LS112+08同步六进制计数器
  • 有什么网站建设软件模板网字体库
  • 【开题答辩全过程】以 springboot高校社团管理系统的设计与实现为例,包含答辩的问题和答案
  • 网站建设价格差异多少网站网页设计哪个好
  • 精品资源共享课网站建设外部链接对网站的影响
  • 江西001
  • 佛山建设网站公司哪家好网站系统与程序的链接
  • 网站开发人员薪酬温州市住房和城乡建设厅网站首页
  • 数据结构——双向链表模拟实现(最详细注释)
  • 中小企业网站制作不了做网站会很忙吗
  • 外贸网站推广建设银行个人网站
  • 六枝做网站wordpress前端上传头像
  • 西安网站seo分析佛山全网优化
  • 公司网站 备案最近一周新闻