NRF52832
文章平均质量分 88
64 MHz Arm Cortex-M4 with FPU/
512 KB Flash, 64 KB RAM/
BLE 5.0, 2 Mbps, 1 Mbps/
1xUART, 12-bit 8xADC
5.3 mA peak current in TX (0 dBm)
Leung_ManWah
这个作者很懒,什么都没留下…
展开
-
NRF52832学习笔记(40)——RFID RC522使用
一、简介MF RC522 是应用于 13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员。是 NXP 公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。二、硬件连接功能口引脚MISO25MOSI24CLK23CSN22RST26三、添加SPI驱动查看 NRF52832学习笔记(5)——SPI接口使用不勾选EasyDMA四、工程代码百度网盘:https:原创 2022-05-26 16:13:30 · 1461 阅读 · 0 评论 -
NRF52832学习笔记(39)——设备信息服务(DIS)
一、简介Device Information Service(DIS)服务,它是对设备的制造商,设备软硬件版本控制,生产信息披露的一个非常好的方式。因此也建议大家在开发时都加入这个由SIG定义的标准服务。DIS服务可通过使用GATT在LE、BR/EDR或HS设备上传输。协议细节可在 Bluetooth SIG官网——设备信息服务1.1 中查看。二、服务内容Specification NameSpecification TypeAssign NumberSpecification Lev原创 2021-11-20 11:01:43 · 2104 阅读 · 1 评论 -
NRF52832学习笔记(38)——修改发射功率
一、背景蓝牙接收信号强度 RSSI 的直接影响因素就是蓝牙信号的发射功率。发射功率就是你所使用的设备(开发板、手机)所发射出来给主机或从机设备的信号强度。同时在实际应用当中,时常也需要修改蓝牙的发射功率,以达到省电的目的。1.1 发射功率范围(最大)4dB、(默认)0dB、-4dB、-8dB、-12dB、-16dB、-20dB、-30dB、(最小)-40dBnRF51系列最小值-30dBnRF52系列最小值-40dB1.2 发射功率作用发射功率越大,信号越强,距离越远,功耗越大。发射功率越小原创 2021-08-24 15:34:40 · 5264 阅读 · 2 评论 -
NRF52832学习笔记(37)——SPI(从机)接口使用
一、SPI简介SPI(Serial Peripheral Interface) 协议是由摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。芯片的管脚上只占用四根线。MISO: 主器件数据输出,从器件数据输入。MOSI:主器件数据输入,从器件数据输出。SCK: 时钟信号,由主设备控制发出。NSS(CS): 从设备选择信号,由主设备控制。当NSS为低电平则选中从器件。二、API说明以下原创 2021-05-18 11:32:32 · 3486 阅读 · 12 评论 -
NRF52832学习笔记(36)——iBeacon
一、简介iBeacon 是苹果公司2013年9月发布的移动设备用 OS(iOS7)上配备的新功能。其工作方式是,配备有 **低功耗蓝牙(BLE)**通信功能的设备使用 BLE 技术向周围发送自己特有的 ID,接收到该 ID 的应用软件会根据该 ID 采取一些行动。比如,在店铺里设置 iBeacon 通信模块的话,便可让 iPhone 和 iPad 上运行一资讯告知服务器,或者由服务器向顾客发送折扣券及进店积分。此外,还可以在家电发生故障或停止工作时使用 iBeacon 向应用软件发送资讯。二、iBe原创 2021-01-06 10:57:46 · 2157 阅读 · 7 评论 -
NRF52832学习笔记(35)——4G模块EC200S使用
一、简介EC200S-CN 是移远通信最近推出的 LTE Cat 1 无线通信模块,支持最大下行速率 10Mbps 和最大上行速率 5Mbps,具有超高的性价比;同时在封装上兼容移远通信多网络制式 LTE Standard EC2x(EC25、EC21、EC20 R2.0、EC20 R2.1)和 EC200T/EG25-G/EG21-G 模块以及 UMTS/HSPA+ UC20/UC200T 模块,实现了 3G 网络与 4G 网络之间的无缝切换。EC200S-CN 还支持标准的 Mini PCIe 封原创 2020-12-04 15:58:04 · 3204 阅读 · 3 评论 -
NRF52832学习笔记(34)——倾角传感器SCL3300使用
一、简介官方数据手册:https://pan.baidu.com/s/1Y0M4ImNsBvAvECy-yNUvxg 提取码:itsr超低噪声、高分辨率 0.001°/√HzSPI数字接口优越的机械阻尼特性使用温度范围:-40~125℃消耗电流1.2mA(供给电源:3.0~3.6V时)成熟的静电容量3D-MEMS技术二、硬件连接功能口引脚MISO17MOSI18CLK20CSN19三、添加SPI驱动查看 NRF52832学习笔原创 2020-10-26 17:15:12 · 4295 阅读 · 5 评论 -
NRF52832学习笔记(33)——低功耗实现
一、功耗模式nRF52 上只有两种电源模式:SYSTEM_ON 和 SYSTEM_OFF1.1 SYSTEM_ON低功耗模式SYSTEM_ON:此状态有持续延迟和低功率子模式。当系统空闲进入 System On 模式时,默认情况下将处于低功耗子模式,通常最低功耗为 1.9uA (nRF52832) 或 1.5uA(nRF52840),包括 LFCLK 和 RTC。这是连接事件之间的正常状态。CPU 在计时器、外围设备或pin中断时重新启动。1.1.1 进入SYSTEM_ON模式当 CPU 和原创 2020-10-14 15:59:31 · 20011 阅读 · 18 评论 -
NRF52832学习笔记(32)——添加微信硬件接入服务AirSync
一、介绍1.1 AirSync概述AirSync是微信硬件平台提供的一种微信客户端与蓝牙设备间通讯的技术协议,它允许蓝牙设备与微信客户端之间收发数据,并支持通过微信客户端透传到远程服务器。该技术在支持微信互联的蓝牙手环、血压计、智能秤、血糖仪等设备上有比较多的应用。AirSync支持经典蓝牙和BLE低功耗蓝牙技术。AirSync开发文档主要功能该协议打通了设备和厂商服务器之间的数据链路,也就是支持将设备上的数据发送到厂商的服务器上,也支持将厂商的数据发送到设备。厂商的数据对于微信来说,是黑原创 2020-10-12 10:30:01 · 1164 阅读 · 0 评论 -
NRF52832学习笔记(31)——Watchdog看门狗使用
一、简介看门狗定时器(WDT: Watchdog Timer)的作用是在发生软件故障时(如程序陷入死循环或者程序跑飞),强制复位单片机,让单片机重新运行程序。看门狗定时器本质上是一个计数器,只不过这个计数器的作用是固定的,一旦计数值递增到设定的值(向上计数)或者计数值递减到0(向下计数),即“超时”时,看门狗定时器产生复位信号,复位系统。程序正常运行时,会在看门狗定时器“超时”前清零计数值(向上计数)或重装计数值(向下计数),俗称“喂狗”,这样就保证了看门狗定时器永不会“超时”,而一旦程序运行出现故原创 2020-10-10 09:56:55 · 3192 阅读 · 3 评论 -
NRF52832学习笔记(30)——一从多主连接
一、简介一个从机设备支持被多个主机设备同时连接。那么我们建立这样一对多的连接方式,代码的处理过程会变得非常麻烦吗,实际上并不是这样,对于我们开发者而言,如果大家对于连接句柄(conn_handle)的理解已经比较透彻,那么增加的难度真的很低。1.1 连接句柄在主机与从机发生连接的时候会进行连接句柄的分配。连接句柄的作用是在蓝牙数据进行分组的时候进行设备区分的。连接句柄相当于一个“令牌”,从设备一旦和主设备发生连接,从设备就给主设备分配一个“令牌”。从设备通过这个“令牌”来识别与区分主设备。二、ble原创 2020-10-09 09:52:54 · 4608 阅读 · 0 评论 -
NRF52832学习笔记(29)——主从一体
一、简介一个蓝牙设备同时作为主设备和从设备进行使用,这种能力的节点设备称为主从一体设备。主从一体提供了扩展 BLE 蓝牙模块的能力,自从一个被称为“链路层拓扑”的功能被添加到蓝牙规范中后,就已经允许蓝牙设备同时作为主设备和从设备,在任何角色组合中操作。二、ble_app_hrs_rscs_relay打开工程 不同SDK\examples\ble_central_and_peripheral\experimental\ble_app_hrs_rscs_relay2.1 main主从一体设备中,如原创 2020-09-30 13:20:41 · 6045 阅读 · 0 评论 -
NRF52832学习笔记(28)——一主多从连接
一、简介由于蓝牙主机和从机组网,如果不使用 Mesh 的话,只能组微微网。蓝牙5.0的微微网最大可以连接20个从机。1.1 连接句柄在主机与从机发生连接的时候会进行连接句柄的分配。连接句柄的作用是在蓝牙数据进行分组的时候进行设备区分的。连接句柄相当于一个“令牌”,从设备一旦和主设备发生连接,主设备就给从设备分配一个“令牌”。主设备通过这个“令牌”来识别与区分从设备。因此对于连接句柄的分配将是实现一主多从连接,并且进行通信的关键。二、ble_app_multilink_central打开工程 不同原创 2020-09-29 16:24:25 · 5711 阅读 · 5 评论 -
NRF52832学习笔记(27)——非易失性存储器控制器NVMC
一、简介1.1 NVMCnRF52832 的非易失性存储器是通过 NVMC 来管理的,NVMC 是 Non-volatile memory controller(非易失性存储器控制器)的缩写,NVMC 提供了写或擦除 Flash 区域和 UICR(用户信息配置寄存器)的功能。写 Flash 之前必须通过写寄存器 CONFIG.WEN 来使能 Flash 的写操作,同样,擦除 Flash 之前必须通过写寄存器 CONFIG.WEN 来使能 Flash 的擦除操作。并且,对 Flash 进行操作的时原创 2020-09-24 10:56:18 · 2679 阅读 · 0 评论 -
NRF52832学习笔记(26)——BSP按键短按和长按
一、简介在蓝牙协议栈下,库函数文件提供了一个 BSP(板级支持包) 来支持硬件外设上的按键和 LED 灯的控制,该文件以 bsp.c 和 bsp.h 进行命名。这里所谓的 BSP(板级支持包) 主要是整合了按键模块的功能和一些“板级指令”以及与 BLE 事件的交互,和你使用的开发板硬件配置相关。其中按键控制以软件按键 app button 库为基础。软件按键 app button 和软件定时 app timer 类似,可以注册多个软件按键。通过 GPIOTE 来实现任务的触发。二、API2.1 bsp原创 2020-09-18 15:33:44 · 3902 阅读 · 0 评论 -
NRF52832学习笔记(25)——Notify属性服务
一、简介图中,主从数据发送的数据包TX和RX表示方向性的数据通道,也就是蓝牙的空中属性,空中操作事件都是采用蓝牙操作句柄进行的,因为句柄能够唯一表示各个属性。空中特性的性质包括:主机RX 从机TX 方向:通知:从机端上传数据给主机,不需要主机回复一个响应指示:从机端上传数据给主机,需要主机端发一个确认给服务器通知和指示之间不同之处在于指示有应用层上的确认,而通知没有。主机TX 从机RX 方向:写没有回应的写读Client Characteristic Configuratio原创 2020-09-07 14:34:40 · 6125 阅读 · 2 评论 -
NRF52832学习笔记(24)——GATT客户端发现服务和读写特征值
一、背景1.1 GATT协议GATT(Generic Attributes Profile)的缩写,中文是通用属性协议,是已连接的低功耗蓝牙设备之间进行通信的协议。一旦两个设备建立起了连接,GATT 就开始起作用了,这也意味着,你必需完成前面的GAP协议。GATT使用了 ATT(Attribute Protocol)协议,ATT 协议把 Service,Characteristic 对应的数据保存在一个查找表中,查找表使用 16bit ID 作为每一项的索引。GATT定义的多层数据结构简要概括起来原创 2020-08-11 09:39:42 · 4333 阅读 · 0 评论 -
NRF52832学习笔记(23)——GAP主机端连接
一、背景链路层(LL) 控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。二、配置连接参数定义连接的参数,这个参数将在sd_ble_gap_connect()函数中被调用。// 定义连接参数static ble_gap_conn_params_t m_conn_params = { .min_conn_int原创 2020-08-10 13:42:18 · 3132 阅读 · 11 评论 -
NRF52832学习笔记(22)—— 串口DFU接口使用
一、简介1.1 串口DFUDFU(Device Firmware Update) 设备固件升级,而 UART 串口升级技术是DFU其中一种类型。其他类型包括:OTA、USB和SPI等有线方式升级。第一次烧录时需要将softdevice(协议栈)、bootloader(引导加载程序)、settings(引导程序配置页)、application(用户应用程序)合成一个hex文件进行烧录。而之后的固件升级,只需通过将application(用户应用程序)合成一个zip的升级包,串口进行上传更新。以下将原创 2020-07-20 13:47:43 · 6298 阅读 · 19 评论 -
NRF52832学习笔记(21)——系统延时使用
一、头文件需要包含头文件#include "nrf_delay.h"二、原函数/** * @brief Function for delaying execution for a number of microseconds. * * @param us_time Number of microseconds to wait. */#define nrf_delay_us(us_time) NRFX_DELAY_US(us_time)/** * @brief Function fo原创 2020-07-15 16:41:56 · 3191 阅读 · 0 评论 -
NRF52832学习笔记(20)——三轴加速度BMA423使用
查看 NRF52832学习笔记(19)——TWI(I2C)接口使用注意:以下出现缺失common.h文件错误,去除即可。uint8改为uint8_t或unsigned char或自己宏定义链接:https://pan.baidu.com/s/1JbNEZ81bGOaumLIKiPumRw 提取码:r1y8将 board_bma423.c 、 board_bma423.h 和 bma423下所有文件,board_gpi.c、board_gpi.h 加入工程的Application文件夹下4.2 boa原创 2020-06-01 15:21:47 · 3234 阅读 · 0 评论 -
NRF52832学习笔记(19)——TWI(I2C)接口使用
一、硬件连接功能口引脚SCL5SDA4二、移植文件注意:以下出现缺失common.h文件错误,去除即可。uint8改为uint8_t或unsigned char或自己宏定义链接:https://pan.baidu.com/s/1ZXjGinAEGDFYyk3JCzYV3Q 提取码:4990将 board_i2c.c 和 board_i2c.h 两个文件加入工程的Application文件夹下2.1 board_i2c.c/*****************原创 2020-05-26 14:58:51 · 6606 阅读 · 6 评论 -
NRF52832学习笔记(18)——RFID SI522使用
一、简介ACD(低功耗寻卡)只是一种模式,和 PCD(普通寻卡)是一样的,在使用到 ACD 模式时,其实就是普通的读写模式和低功耗模式的切换,可以理解为“ACD 函数”中嵌套了一个“PCD 函数”,达到触发条件后进入“PCD 函 数”,执行函数内容,最后回到“ACD 函数”,等待下一次的触发。在使能 ACD 后,一旦检测到场强的变弱,触发中断,就认为有卡进入,此时清除中断后,需要再次初始化 A...原创 2020-04-14 09:35:48 · 2144 阅读 · 0 评论 -
NRF52832学习笔记(17)——Flash接口使用(FDS方式)
一、背景NRF52832 内部 Flash 的存储官方提供了两种方式,一种是 FStorage 方式,另一种是在 FStorage 基础上的 FDS 方式。1.1 FDS方式Flash 数据存储(FDS)模块是芯片上闪存的最小化文件系统,它可以最小化数据损坏的风险,并简化了持久存储的交互。它通过在文件中组织数据来实现这一点,这些数据由一个或多个 记录 组成。这些 记录 包含实际的数据,可以被...原创 2020-03-19 16:12:05 · 4414 阅读 · 6 评论 -
NRF52832学习笔记(16)——GAP主机端扫描
一、背景1.1 蓝牙协议栈**链路层(LL)**控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。大部分情况下外围设备通过广播自己来让中心设备发现自己,并建立 GATT 连接,从而进行更多的数据交换。也有些情...原创 2020-03-14 22:40:36 · 4864 阅读 · 0 评论 -
NRF52832学习笔记(15)——GATT服务端自定义服务和特征
一、背景1.1 Profile(规范)profile 可以理解为一种规范,建立的蓝牙应用任务,蓝牙任务实际上分为两类:标准蓝牙任务规范 profile(公有任务),非标准蓝牙任务规范 profile(私有任务)。标准蓝牙任务规范 profile:指的是从蓝牙特别兴趣小组 SIG 的官网上已经发布的 GATT 规范列表,包括警告通知(alert notification),血压测量(bloo...原创 2020-03-07 14:00:23 · 3743 阅读 · 0 评论 -
NRF52832学习笔记(14)——Flash接口使用(FStorage方式)
一、背景NRF52832 内部 Flash 的存储官方提供了两种方式,一种是 FStorage 方式,另一种是在 FStorage 基础上的 FDS 方式。1.1 FStorage方式FStorage 是一个用于读取、写入和擦除持久闪存中数据的模块。该模块定义了一个异步接口来访问闪存,并使用 读、写和(page)擦除 操作。通过对注册事件处理程序的回调,通知应用程序的操作结果。FStora...原创 2020-02-28 17:35:06 · 8128 阅读 · 3 评论 -
NRF52832学习笔记(13)——RTT打印调试日志
一、背景Log 信息输出可以方便调试者观察程序运行状态,和常用的串口 printf 的功能相似。但是在 nrf5x 芯片串口只有一个的状态下,如果你已经使用了串口,者时候 Log 显示提供一种不占用串口的方式,也就是仿真器 JLink 的 RTT Viewer 输出方式。二、初始化打印功能在主函数 main 中,第一步就是初始化打印日志功能 log_init(),该函数实际上既可以触发串口打...原创 2020-02-25 16:51:05 · 5528 阅读 · 2 评论 -
NRF52832学习笔记(12)——UART串口使用
一、简介UARTE 是带有 EasyDMA 的通用异步接收器/发送器 UART。提供快速、全双工、异步的串口通信,内置流量控制(CTS,RTS)支持硬件,速率高达 1 Mbps。以下是 UARTE 的主要功能:全双工操作自动硬件流控制生成9位数据带奇偶校验EasyDMA波特率高达 1 Mbps在支持的事务之间返回 IDLE(使用HW流控制时)一个停止位最低有效位(LSB)优先...原创 2020-02-24 15:36:24 · 13970 阅读 · 1 评论 -
NRF52832学习笔记(11)——蓝牙MAC地址
一、背景一个 BLE 设备,可以使用两种类型的地址(一个 BLE 设备可同时具备两种地址):Public Device Address(公共设备地址)Random Device Address(随机设备地址)可分为两类:Static Device Address(静态设备地址)Private Device Address(私密设备地址)又可分为两类:Non-resolvable ...原创 2020-02-19 14:39:48 · 7838 阅读 · 0 评论 -
NRF52832学习笔记(10)——GAP从机端广播自定义数据
一、背景链路层(LL)控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机)用来扫描和连接 外围设备(Peripheral - 从机)。大部分情况下外围设备通过广播自己来让中心设备发现自己,并建立 GATT 连接,从而进行更多的数据交换。也有些情况是不需要连接的,只要外设广播自...原创 2020-02-12 23:55:35 · 6030 阅读 · 16 评论 -
NRF52832学习笔记(9)——GAP从机端广播
一、背景1.1 蓝牙协议栈**链路层(LL)**控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。大部分情况下外围设备通过广播自己来让中心设备发现自己,并建立 GATT 连接,从而进行更多的数据交换。也有些情...原创 2020-02-11 15:57:32 · 4637 阅读 · 1 评论 -
NRF52832学习笔记(8)——RTC实时时钟使用
一、简介NRF52832 中的 RTC 是 Real-time Counter 实时计数器,而不是 Real-time Clock 实时时间 。所以为了实现实时时钟,需要创建一个1秒定时器增加时间戳的值。1.1 选用RTC2实现万年历功能有三种方式:新建一个1秒定时的APP_TIMER。优点:创建方便。缺点:实时性太差。APP_TIMER采用轮询执行而非抢占的方式,假如其它A...原创 2020-01-08 16:05:53 · 9149 阅读 · 3 评论 -
NRF52832学习笔记(7)——ADC接口使用
一、简介1.1 主要特点NRF52832 中 ADC 为一个 逐次逼近(SAADC) 模拟数字转换器8/10/12 位分辨率,采用过采样可以达到 14 位分辨率。多达 8 个输入通道:单端输入时有 1 个通道,2 个通道组成差分输入。单端和差分输入时可以配置成扫描模式。满量程输入范围为 0 和 VDD可以通过软件触发采样任务启动采样,也可以使用低功耗 32.768KHz 的 RT...原创 2020-01-06 11:13:47 · 11497 阅读 · 12 评论 -
NRF52832学习笔记(6)——OTA DFU接口使用
一、简介1.1 OTA DFUDFU(Device Firmware Update) 设备固件升级,而 OTA(Over The Air) 空中升级技术是DFU其中一种类型。其他类型包括:UART、USB和SPI等有线方式升级。第一次烧录时需要将softdevice(协议栈)、bootloader(引导加载程序)、settings(引导程序配置页)、application(用户应用程序)合...原创 2019-12-28 14:57:17 · 9325 阅读 · 5 评论 -
NRF52832学习笔记(5)——SPI(主机)接口使用
一、硬件连接功能口引脚MISO17MOSI18CLK20CSN19二、移植文件链接:https://pan.baidu.com/s/1AP3VuZz2v5gN47zDDTqCVA 提取码:d84r将 board_spi.c 和 board_spi.h 两个文件加入工程的Application文件夹下2.1 board_spi.c/*...原创 2019-12-24 11:45:05 · 11810 阅读 · 4 评论 -
NRF52832学习笔记(4)——GPIO输入中断接口使用
一、硬件连接按键名称引脚控制方法LEFT26按下触发,产生低电平RIGHT28按下触发,产生低电平二、移植文件链接:https://pan.baidu.com/s/1cGrkf-KvlWZHsutpHCBecA 提取码:osrg将 board_gpi.c 和 board_gpi.h 两个文件加入工程的Application文件夹下2.1 boa...原创 2019-12-21 17:40:22 · 5833 阅读 · 0 评论 -
NRF52832学习笔记(3)——GPIO输出接口使用
一、硬件连接按键名称引脚控制方法蜂鸣器14高电平响、低电平停LED灯23高电平亮、低电平灭二、移植文件链接:https://pan.baidu.com/s/1cGrkf-KvlWZHsutpHCBecA 提取码:osrg将 board_gpo.c 和 board_gpo.h 两个文件加入工程的Application文件夹下2.1 board_g...原创 2019-12-20 10:28:16 · 4538 阅读 · 0 评论 -
NRF52832学习笔记(2)——定时器接口使用
一、简介在有BLE协议栈的工程中,软件定时器用的是实时时钟RTC1二、使用步骤2.1 头文件#include "app_timer.h"2.2 定义定时器APP_TIMER_DEF(s_testTimer); // 测试的定时器2.3 定义定时时间#define TEST_PERIOD APP_TIMER_TICKS(200) // 定时时间(200ms)2.4...原创 2019-12-17 17:26:10 · 5418 阅读 · 1 评论 -
NRF52832学习笔记(1)——搭建环境、编译烧写
一、搭建环境1.1 安装Keil 5官网下载:http://www2.keil.com/mdk5/百度网盘:https://pan.baidu.com/s/1T_eF5NDYeq38bR0cqjiZkw 提取码:562z1.2 下载SDK官网下载:https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Downloa...原创 2019-12-13 17:44:43 · 12444 阅读 · 7 评论