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

简单的静态网站每日军事新闻

简单的静态网站,每日军事新闻,购物网站优化的建议,深圳比较有名的设计公司1:以下是适用于 nRF Connect SDK (NCS) 的基于 Zephyr 的示例应用程序,展示了: 读取电池电压和状态处理来自 nPM1300 的中断(例如,电池或电源轨事件)控制电源轨(通过 GPIO 启用/禁用&#xff0…

1:以下是适用于 nRF Connect SDK (NCS) 的基于 Zephyr 的示例应用程序,展示了:

  • 读取电池电压和状态
  • 处理来自 nPM1300 的中断(例如,电池或电源轨事件)
  • 控制电源轨(通过 GPIO 启用/禁用)

main.c

#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <zephyr/drivers/pmic.h>
#include <zephyr/drivers/pmic/npm1300.h>
#include <zephyr/drivers/gpio.h>
#include <zephyr/logging/log.h>
#include <zephyr/sys/printk.h>LOG_MODULE_REGISTER(npm1300_sample, LOG_LEVEL_INF);#define NPM1300_NODE DT_NODELABEL(npm1300)
#define NPM1300_IRQ_NODE DT_NODELABEL(npm1300_irq)
#define NPM1300_PWR_GPIO_NODE DT_NODELABEL(npm1300_pwrgpio)static const struct device *npm1300_dev = DEVICE_DT_GET(NPM1300_NODE);static struct gpio_callback irq_cb_data;void npm1300_irq_handler(const struct device *gpiodev, struct gpio_callback *cb, uint32_t pins)
{printk("nPM1300 IRQ triggered!\n");struct pmic_npm1300_irq_status irq_status;int ret = pmic_npm1300_irq_status_get(npm1300_dev, &irq_status);if (ret == 0) {if (irq_status.batt_chg) {LOG_INF("Battery charging event detected");}if (irq_status.vbus_det) {LOG_INF("VBUS detected event");}if (irq_status.temp) {LOG_INF("Temperature warning/fault event");}// Add more handlers as needed.} else {LOG_ERR("Failed to read nPM1300 IRQ status: %d", ret);}
}void main(void)
{if (!device_is_ready(npm1300_dev)) {LOG_ERR("nPM1300 device not ready");return;}LOG_INF("nPM1300 demo starting...");// Set up IRQ handlingconst struct device *irq_gpio_dev = DEVICE_DT_GET(NPM1300_IRQ_NODE);gpio_pin_configure(irq_gpio_dev, DT_GPIO_PIN(NPM1300_IRQ_NODE, gpios), GPIO_INPUT | DT_GPIO_FLAGS(NPM1300_IRQ_NODE, gpios));gpio_init_callback(&irq_cb_data, npm1300_irq_handler, BIT(DT_GPIO_PIN(NPM1300_IRQ_NODE, gpios)));gpio_add_callback(irq_gpio_dev, &irq_cb_data);gpio_pin_interrupt_configure(irq_gpio_dev, DT_GPIO_PIN(NPM1300_IRQ_NODE, gpios), GPIO_INT_EDGE_TO_ACTIVE);LOG_INF("nPM1300 IRQ configured");// Battery monitoring loopwhile (1) {int batt_mv;int status = pmic_npm1300_battery_voltage_get(npm1300_dev, &batt_mv);if (status == 0) {LOG_INF("Battery voltage: %d mV", batt_mv);} else {LOG_ERR("Failed to read battery voltage: %d", status);}// Power rail control (example: enable/disable)int pwr_status;status = pmic_npm1300_power_rail_enable(npm1300_dev, 0, true); // enable rail 0if (status == 0) {LOG_INF("Power rail 0 enabled");}k_sleep(K_MSEC(1000));status = pmic_npm1300_power_rail_enable(npm1300_dev, 0, false); // disable rail 0if (status == 0) {LOG_INF("Power rail 0 disabled");}k_sleep(K_SECONDS(10));}
}

prj.conf

CONFIG_PMIC_NPM1300=y
CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=3
CONFIG_GPIO=y

 nrf54l15dk_nrf54l15.overlay

&i2c1 {npm1300: npm1300@6b {compatible = "nordic,npm1300";reg = <0x6b>;// IRQ and other properties as needed};
};/ {npm1300_irq: gpio0_pin12 {gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;};
};

使用方法:

  1. 将文件放置在您的 NCS 项目中(例如,在 src/ 、 boards/ 和根目录下)。
  2. Build for your board:  为您的板卡构建:
west build -b nrf54l15dk_nrf54l15
west flash

http://www.dtcms.com/wzjs/224368.html

相关文章:

  • 公司业务推广怎么做好seo内容优化
  • 成都建网站成都建网站西安百度推广怎么做
  • 企业网页建设seo用什么论坛引流
  • 宁波企业网站制作要多少钱最新疫情新闻100字
  • 灵犀科技 高端网站建设背景图百度推广图片
  • 阿里网站怎样做seo上海网站排名seo公司
  • 郑州做网站哪个平台好关键词seo如何优化
  • 慈溪市网站制作谷歌优化师
  • 外贸网站 源码青岛网站优化公司
  • 好看的食品网站免费线上培训平台
  • 网站制作成品站长seo软件
  • 我国数字经济报告免费的seo教程
  • 做彩票网站用什么服务器链接提交工具
  • 武汉公司网页设计佛山网站建设十年乐云seo
  • 网站后缀net网站网址查询工具
  • 文章网站模板哪个好个人主页网页设计模板
  • 确定网站建设的目的google下载手机版
  • 做网站搜爬闪优化落实疫情防控新十条
  • 做网站公什么是淘宝seo
  • 南宁两学一做党课网站海外营销
  • 家政服务技术支持东莞网站建设单页网站制作
  • 做网站便宜百度云登陆首页
  • 建设银行网站支付流程苏州百度推广排名优化
  • 网站导航栏字体网络推广方式方法
  • 新网站怎么做才能让搜狗收录东莞头条最新新闻
  • 生态建设研究所网站正规拉新推广平台有哪些
  • 邢台专业做网站价格软文推广营销
  • 政府网站建设运营合同百度号码
  • 国内工程机械行业网站建设现状南京seo推广
  • 上海广告公司招聘信息沈阳seo优化排名公司