BT8918D----GPIO模块

news/2024/2/27 18:08:23

0 Preface/Foreword

1 宏定义和数据结构

1.1 gpio_t

typedef struct {
    psfr_t sfr;             //GPIO SFR ADDR
    u8 num;
    u8 type;                //type = 1,高压IO,没有300R的强上下拉电阻。 type = 0, 普通IO, 有内部300R上下拉电阻。
} gpio_t;

1.2 SFR枚举 

enum {
    GPIOxSET    =   0,
    GPIOxCLR,
    GPIOx,
    GPIOxDIR,
    GPIOxDE,
    GPIOxFEN,
    GPIOxDRV,
    GPIOxPU,
    GPIOxPD,
    GPIOxPU200K,
    GPIOxPD200K,
    GPIOxPU300,
    GPIOxPD300,
}; 

1.3 pfsr_t

typedef volatile unsigned long *psfr_t

2 API

2.1 gpio_cfg_init

代码案例:根据配置文件初始化指定GPIO口

void loudspeaker_mute_init(void)
{
    if (!xcfg_cb.spk_mute_en) {
        xcfg_cb.loudspeaker_unmute_delay = 0;
        return;
    }
    u8 io_num = xcfg_cb.spk_mute_io_sel;
    gpio_t *p = &mute_gpio;
    bsp_gpio_cfg_init(p, io_num);
    if (p->sfr == NULL) {
        return;
    }
    p->sfr[GPIOxDE] |= BIT(p->num);
    p->sfr[GPIOxDIR] &= ~BIT(p->num);
    if (xcfg_cb.high_mute) {
        p->sfr[GPIOxSET] = BIT(p->num);
    } else {
        p->sfr[GPIOxCLR] = BIT(p->num);
    }


http://www.ppmy.cn/news/300089.html

相关文章

RPC通用爬虫

文章目录 RPC通用爬虫一、项目案例二、Rpc原理解析三、Rpc代码分享四、自我总结 RPC通用爬虫 一、项目案例 测试网址: aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuL3NlcnZpY2UvYnVsbGV0aW5fbGlzdC5odG1sP3R5cGVhPWI2N2MzYjhhZGJkY2U3NGQ 二、Rpc原理解析 图解关系: ​ 主要包括,爬虫程…

公网对讲机修改对讲机程序_更少的对讲机,对讲机-更多专心,专心

公网对讲机修改对讲机程序 重点 (Top highlight) I often like to put a stick into the bike wheel of the UX industry as it’s strolling along feeling proud of itself. I believe — strongly — that as designers we should primarily be doers not talkers. 我经常喜…

浅谈350M警用集群对讲机的使用与维护

在公安日常执勤工作中,对讲机已经成为警力队伍进行重大勤务和开展日常工作的有效通信工具和主要调度平台。350M警用集群对讲机与常规对讲机相比,具有更加强大的通信调度能力,且功能更多、保密性更好,符合警务任务对无线通信的要求…

酒店行业如何选购对讲机?

公网对讲机对于酒店的管理起到非常大的作用,酒店业使用公网对讲机,可以在日常的工作中更好的协调安排各项事务,从而提高酒店的服务水平。那么这种行业的公网对讲机选购时应注意些什么呢? 酒店行业如何选购对讲机? 在无线通讯技…

无线对讲机服务器,网络对讲机服务器设置

网络对讲机服务器设置 内容精选 换一换 在使用裸金属服务器时,您可能会遇到各种问题,比如远程登录、扩容磁盘、重装操作系统、备份服务器等。为方便您获取这些场景的操作指导,本文提供了常用操作的导航。在您开始创建裸金属服务器之前&#x…

CSDN第57期编程竞赛活动经验

好难好难,逻辑应该是对的,但都超时了,通过控制数量,才勉强有测试用例通过 题目1、凑数 给定一组n个正整数,要求每次选其中一个数乘以或除以一个素数(称为一次凑数),问至少需要凑数多…

LintCode - 89 K数之和

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 89 K数之和 - LintCode 题目描述 给定 n 个不同的正整数,整数 k (k≤n)以及一个目标数字 target。  在这 n 个数里面找出 k 个数,使得这 k 个数的和等于目标数字,求问…

使用卷积神经网络构建一个图像分类模型

在本文中,我们将详细介绍如何使用卷积神经网络(Convolutional Neural Networks,CNN)构建一个图像分类模型。我们将从理论基础开始,然后通过编写代码来实现一个完整的模型,并在一个实际的数据集上进行训练和…

Atcoder Beginner Contest 295

A - Probably English AC代码&#xff1a; #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N110; string s[N]; int main() {int n;cin>>n;for(int i1;i<n;i) cin>>s[i];bool flagfalse;for(in…

惠普打印机和扫描仪修复医生 HP Print and Scan Doctor

https://support.hp.com/cn-zh/topic/printscandoctor-printing-problems http://ftp.hp.com/pub/printers/hppsdr/patches/HPPSdr.exe rcy的电脑连的是无线 。 打印机ip 192.168.1.123 转载于:https://www.cnblogs.com/simadi/p/10966937.html

【统信UOS】扫描仪设备管理驱动安装

1、 先安装对应扫描设备驱动 驱动可以在官方下载 https://www.chinauos.com/ecology/adapt 注&#xff1a;关闭开发者模式的需要注意软件签名问题 2、下载专用扫描仪工具 由于UOS自带的扫描工具功能有限且不好用&#xff0c;部分设备无法添加管理&#xff0c;下载gscan2pdf…

DPDK多进程

DPDK初始化参数列表 rte_eal_init参数列表获取方式&#xff1a; 运行testpmd --help阅读dpdk源码 如下是testpmd打印的常用参数&#xff1a; EAL common options:-c COREMASK Hexadecimal bitmask of cores to run on-l CORELIST List of cores to run onT…

通用连接扫描仪文档

通用连接扫描仪文档 不同厂家扫描仪基本都支持twain接口&#xff0c;所以只需要调取twain接口中的方法即可实现控制各个扫描仪。 首先&#xff0c;用c来调用twain接口实现扫描功能并写好方法供外部调用&#xff0c;然后把该c程序编译成dll文件&#xff0c;最后用java程序通过…

SICK激光扫描仪LMS511连接通讯

一、设备介绍&#xff1a; 型号&#xff1a;LMS511-10100&#xff08;DC 24v&#xff09; 品牌&#xff1a;SICK 操作环境&#xff1a;Windows 10 64bit 软件&#xff1a;SOPAS ET 连接线&#xff1a;串口转网口线&#xff08;1根/4针 子头&#xff09;&#xff0c;电源线…

科技新品 | FOSSIL太阳能系列限量腕表;富士通40ppm高速扫描仪;Apple AirTag安全支架...

“科技新产品动态”栏目把新鲜的具有代表性的科学产品带到您眼前&#xff0c;涉及消费电子&#xff0c;半导体、服务器、智能家电等众多品类&#xff0c;提供图片和简单的文字介绍。 FOSSIL推出第二代SOLAR太阳能系列限量版腕表&#xff1b;富士通推出两款ScanSnap系列高速扫描…

富士通扫描仪PaperStream系列软件喜迎新成员;B2B音乐授权市场Songtradr完成D轮融资并获超额认购| 全球TMT...

国内市场 泛亚数据中心公司Big Data Exchange&#xff08;BDx&#xff09;位于中国南京的数据中心园区启动&#xff0c;目前一期机房&#xff08;NKG1&#xff09;已正式投入运营。NKG1是该市第一个获得Uptime Institute设计文件三级认证的数据中心&#xff0c;可提供4MW的IT电…

最新微信835协议

微信iPad协议&#xff0c;采用最新的ASE加密&#xff0c;以及最新的rqtx算法&#xff0c;06算法&#xff0c;iPad协议是一套微信个人号接口&#xff0c;基于web开发&#xff0c;杜绝封号&#xff0c;追封&#xff0c;模拟器封号&#xff0c;环境异常封号&#xff0c;批量封等封…

Codeforces Round #835 (Div. 4) B. Atilla‘s Favorite Problem

Codeforces Round #835 (Div. 4) B. Atilla’s Favorite Problem To solve the problem we need to find the character with the highest alphabetical order in our string, since Atilla will need at least that alphabet size and won’t need more. To do this iterate …

Round#835(Div.4)E. Binary Inversions

题目链接&#xff1a;Problem - E - Codeforces 题目概述&#xff1a;给一个只含零一的数组。我们可以选择数组内的任意元素&#xff0c;至多执行下列操作一次。&#xff08;只能选择一个元素执行操作&#xff09;。操作为&#xff1a;反转你选择的元素&#xff08;1变为0&…

Codeforces Round #835 (Div. 4)A.B.C.D.E.F

A. Medium Number 题目链接&#xff1a; Problem - A - Codeforces 题面&#xff1a; 题意&#xff1a; 给定三个数&#xff0c;求中间那个数的值 思路&#xff1a; 我们可以分别求出三个数的总和&#xff0c;最大值和最小值&#xff0c;在通过总和减最大值和最小值的方…
最新文章