当前文档版本为 v1.2.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

ZDK 演示例程

基础例程

源码路径: <PAN1080-ZDK>\01_SDK\zephyr\samples_panchip\basic

例程

说明

Basic: Blinky

演示LED闪灯, led0 以一秒为周期亮灭

Basic: Button

演示 Zephyr 对按键的支持功能, 当按键按下时向 Console 打印 Log 的同时 led0 亮,松开后 led0

Basic: Dynamic Frequency

演示如何动态切换系统主频

Basic: Synchronization

演示内核基本功能,系统启动两个线程交替向 Console 打印消息

Basic: Hello World

演示打印功能,支持 mcuboot

蓝牙例程

源码路径: <PAN1080-ZDK>\01_SDK\zephyr\samples_panchip\bluetooth

例程

说明

Bluetooth: Beacon

演示蓝牙 beacon

Bluetooth: Central

演示蓝牙主机功能,发现设备并与设备建立连接和断连

Bluetooth: Central HID

演示蓝牙主机HID功能,连接HID设备可以读取HID设备发来的键值等信息

Bluetooth: Central Audio

演示蓝牙语音传输主机端

Bluetooth: Central HR

演示蓝牙主机功能,主要是 HR (heart-rate) 服务相关,包括:发现设备, 解析广播数据并与包含HR服务的设备建立连接;查找并订阅HR服务

Bluetooth: Central HT

演示蓝牙主机功能,主要是 HT (health thermometer) 服务相关,包括:发现设备, 解析广播数据并与包含HT服务的设备建立连接;查找并订阅HT服务

Bluetooth: Central Multilink

演示主机多连接功能,可以发现设备并与最多8个从机设备建立连接

Bluetooth: Eddystone

演示 Google Eddystone Configuration ServiceEddystone beacon 功能

Bluetooth: HCI UART

单 BLE Controller,可以通过串口发送HCI命令,用于 DTM,或者配合外部 Host 使用

Bluetooth: iBeacon

演示 Apple iBeacon功能,在支持iBeacon的应用上,可以粗略的显示距离信息

Bluetooth: IoT WeChat

演示微信硬件开发平台的 AirSync 协议

Bluetooth: Mesh Provisioner

演示蓝牙 Mesh Provisioner 功能,先进行自我配置netkey,存储,然后通过pb adv对其他待入网设备广播进行扫描,建立link,入网的流程,并包括后续的配置流程

Bluetooth: Mesh Provisioner

演示蓝牙 Mesh Provisionee 功能,可以被 Mesh Provisioner 配网和控制,也可以通过手机或天猫精灵进行入网

Bluetooth: Multi-roles

演示蓝牙多角色(主从一体)功能,可以通过 shell 进行广播、扫描和连接,支持最多8组连接

Bluetooth: Peripheral

演示蓝牙从机功能,包含 GATT服务: CTS/BAS/HRS

Bluetooth: Peripheral ANCS C

演示蓝牙苹果通知中心服务(Apple Notification Center Service,ANCS)

Bluetooth: Peripheral Audio

演示蓝牙语音传输从机端

Bluetooth: Peripheral CSC

演示蓝牙从机功能,包含 GATT 服务: CSC (Cycling Speed and Cadence)

Bluetooth: Peripheral DIS

演示蓝牙从机功能,包含 GATT 服务: DIS (Device Information)

Bluetooth: Peripheral ESP

演示蓝牙从机功能,包含 GATT 服务: ESP (Environmental Sensing Profile)

Bluetooth: Peripheral HIDS

演示蓝牙从机功能,包含 GATT 服务: HID,通用鼠标

Bluetooth: Peripheral HR

演示蓝牙从机功能,包含 GATT 服务: HR (Heart Rate),连接订阅服务后,会上报虚拟的心率值

Bluetooth: Peripheral HT

演示蓝牙从机功能,包含 GATT 服务: HT (Health Thermometer),连接订阅服务后,会上报虚拟的温度数据

Bluetooth: Peripheral Identity

演示从机多连接功能,可以与最多8个主机设备建立连接

Bluetooth: Peripheral OTA

演示蓝牙从机 OTA (Over-The-Air) 无线升级功能

Bluetooth: Peripheral White List

演示蓝牙从机白名单 (White List) 功能

Bluetooth: Scan & Advertise

演示蓝牙广播和扫描功能,将扫描到的设备个数,放在特定的广播数据中发出去

Bluetooth: Throughput

演示蓝牙吞吐率测试功能,默认支持主从两个角色

外设驱动例程

源码路径: <PAN1080-ZDK>\01_SDK\zephyr\samples_panchip\drivers

例程

说明

Driver: ACC

演示硬件乘法器除法器功能

Driver: ADC

演示adc单次转换与多次转换功能

Driver: Clock Control

演示Clock Control API使用方法及切换系统时钟的方法

Driver: Counter

演示硬件计数器循环计数功能

Driver: DMA M2M

演示 DMA 的 Memory to Memory 功能

Driver: DMA M2P&P2M

演示 DMA 的 Memory to Peripheral 和 Peripehral to Memory 功能

Driver: Flash Shell

演示flash读写擦功能

Driver: GPIO

演示gpio输入输出及中断功能

Driver: I2C Master

演示i2c master读写功能

Driver: I2C Slave

演示i2c slave读写功能

Driver: KSCAN

演示KSCAN API使用方法

Driver: Pinmux

演示开启或关闭SoC内部上拉或下拉电阻及切换引脚功能

Driver: Power Management

演示Zephyr低功耗流程

Driver: PWM & RGB

演示用PWM控制rgb灯的功能

Driver: QDEC & PWM

演示qdec计数功能

Driver: SPI Master

演示spi master读写功能

Driver: UART FIFO

演示uart收发功能

Driver: Watchdog

演示Watchdog看门狗功能

低功耗例程

源码路径: <PAN1080-ZDK>\01_SDK\zephyr\samples_panchip\low_power

例程

说明

LowPower: DeepSleep GPIO Key Wakeup

演示 DeepSleep 模式下使用 GPIO 按键唤醒系统

LowPower: DeepSleep GPIO PWM Wakeup

演示 DeepSleep 模式下使用外部 PWM 波形触发 GPIO 中断唤醒系统

LowPower: DeepSleep KSCAN Wakeup

演示 DeepSleep 模式下通过连接 KSCAN 模块的按键将其唤醒

LowPower: DeepSleep QDEC Wakeup

演示 DeepSleep 模式下通过 QDEC 模块输入信号将其唤醒

LowPower: DeepSleep Quadrature Encoder

演示基于 Zephyr Shell 的正交编码波形发生器(Quadrature Encoder),支持长时间无操作睡眠及 WKUP 按键唤醒

LowPower: DeepSleep Timer Wakeup

演示 DeepSleep 模式下使用 APB HW Timer 唤醒系统

LowPower: Standby Mode 0 P56 Key Wakeup

演示 Standby M0 模式下使用 P56 按键唤醒系统

LowPower: Standby Mode 1 GPIO Key Wakeup

演示 Standby M1 模式下使用 GPIO 按键唤醒系统

LowPower: Standby Mode 1 LP Timer Wakeup

演示 Standby M1 模式下使用 LP Timer 唤醒系统

LowPower: Multiple Wakeup Source

演示多种唤醒源、多种低功耗模式的切换

私有2.4G例程

源码路径: <PAN1080-ZDK>\01_SDK\zephyr\samples_panchip\proprietary_radio

例程

说明

PRF: IO Pulse Receiver

演示脉冲传输功能,接收发送端的2.4G信号,并恢复出波形,通过IO口输出

PRF: IO Pulse Transmitter

演示脉冲传输功能,通过IO口接收将外部的PWM波形,并通过2.4G传输给接收端设备

PRF: 2.4G Receiver

演示2.4G接收端功能

PRF: 2.4G Transmitter

演示2.4G发送端功能

PRF: 2.4G fast trx

演示增强型极限收发demo

PRF: 2.4G NRF24L01 Transceiver

演示2.4G NRF24L01 普通型、增强型的收发功能

PRF: 2.4G XN297 Transceiver

演示2.4G XN297 普通型、增强型的收发功能

解决方案

源码路径: <PAN1080-ZDK>\01_SDK\zephyr\samples_panchip\solutions

例程

说明

Solution: BLE HID Selfie

自拍解决方案,通过蓝牙HID控制手机拍照

Solution: BLE HID Uart

蓝牙串口透传解决方案,演示蓝牙hid串口透传功能

Solution: BLE HID Uart Mult Roles

蓝牙串口透传解决方案,演示蓝牙hid串口透传功能,支持1主2从

Solution: BLE Mouse Dongle

蓝牙快连产测dongle程序,支持产测中使用dongle扫描`Pan_Mouse`并连接自动画圈

Solution: BLE Panchip-CTE Beacon

磐启定位标签解决方案,通过广播发送特定的定位数据

Solution: BLE RGB Light

蓝牙RGB三色灯解决方案,可以用小程序连接并进行控制

Solution: BLE Vehicles Key

模拟蓝牙感应钥匙功能,当手机足够接近电动车时,会自动解锁电动车

Solution: Mesh Genie Curtain

演示智能音箱(天猫精灵)控制 Mesh 窗帘功能,可以完成入网及窗帘模拟过程,也可以用nRF mesh的手机APP进行入网,进而进行控制操作

Solution: Multimode Mouse

鼠标解决方案,支持BLE、2.4G、USB三种模式

Solution: Multimode Mouse Dongle

2.4G Mouse Dongle接收器,配合鼠标使用,支持2.4G

Solution: Multimode Mouse 4K

4K鼠标解决方案,支持BLE、2.4G(4k)、USB(1k)三种模式

Solution: Multimode Mouse 8K

8K鼠标解决方案(含高速USB芯片CH32V30x),支持BLE、2.4G(4k)、USB(8k)三种模式

Solution: Multimode Mouse Dongle 4K

2.4G Mouse Dongle接收器(含高速USB芯片CH32V30x),配合4K/8K鼠标使用,支持2.4G

Solution: Multimode Keyboard

键盘解决方案,支持BLE、2.4G、USB三种模式

Solution: Multimode Keyboard Dongle

2.4G Keyboard Dongle接收器,配合键盘使用,支持2.4G

Solution: Multimode HID Demo

使用单线程方式演示 USB, 2.4G, BLE 三模鼠标方案,功能较为简单,主要用来演示相关API接口

Solution: XN297 BLE Demo

演示蓝牙和 2.4G (XN297 模式) 协调工作的流程

Solution: Tencent BLE iot vehicle

演示基于微信小程序的腾讯连连电动二轮车钥匙项目,使用腾讯llsync协议

Solution: Electric Meter

演示基于国网 realtek 协议,2主3从智能电表方案

子系统例程

源码路径: <PAN1080-ZDK>\01_SDK\zephyr\samples_panchip\subsys

例程

说明

Subsys: Console Echo

演示 Zephyr Console 控制台 Echo 机制

Subsys: Console Getchar

演示 Zephyr Console 控制台 Getchar 接口

Subsys: Console Getline

演示 Zephyr Console 控制台 Getline 接口

Subsys: Logger

演示 Zephyr Log 机制的基本功能与 UART/RTT 两种通信方式

Subsys: Display LVGL SSD1306

演示使用 LVGL 框架驱动 SSD1306 显示屏

Subsys: Non-Volatile Storage

演示 Zephyr NVS 数据存储接口

Subsys: Panchip DFU

演示 usb 作为 DFU Device 的识别和升级流程(Panchip私有协议)

Subsys: Settings

演示 Zephyr Settings 键值对数据存储子系统

Subsys: Shell Device Memory Load

演示 Zephyr Shell 子系统自带的命令

Subsys: Shell Module

演示 Zephyr Shell 子系统自定义命令的添加和使用方法

Subsys: Tracing

演示 Zephyr Shell 自定义命令的添加和使用方法

Subsys: USB CDC ACM

演示 usb 通信设备类(CDC)抽象控制模型(ACM)驱动程序的使用方法

Subsys: USB Console

演示 usb Console (CDC ACM UART) 的使用方法

Subsys: USB DFU

演示usb作为DFU Device的识别和升级流程

Subsys: USB HID CDC

演示 usb 复合设备(CDC 与 HID)的使用方法

Subsys: USB HID Mouse

演示 usb 作为鼠标的驱动识别和控制

Subsys: USB Mass Storage

演示 usb Mass Storage(大容量存储设备)的使用方法

Sub-1G例程

源码路径: <PAN1080-ZDK>\01_SDK\zephyr\samples_panchip\sub_1G

例程

说明

Sub-1G: CAD

演示 Sub-1G 检测空中信号的功能

Sub-1G: TRX Sample

演示使用 BLE 配网以及 Sub-1G 通信

Sub-1G: PLHD

演示 Sub-1G 提前中断的功能

Sub-1G: Intelligent Search

演示 Sub-1G 智能搜索功能

Sub-1G: Packet reception rate

演示 Sub-1G 收包率测试

ZDK默认板级硬件配置

Zephyr SDK 中的所有例程均已适配了 PAN1080 EVB 开发板,我们可在 zephyr\boards\arm\ 路径下找到当前支持的开发板配置文件。

开发板的配置信息存储在各自目录下的设备树(DeviceTree)配置文件(*.dts)中,各开发板与例程有关的配置如下:

  • pan108xxa1_evb / pan108xxb1_evb / pan108xxb5_evb / pan1083xa1_evb:

    • console, shell-uart, bt-mon-uart, bt-c2h-uart

      • uart0: TX: P00, RX: P01, 8N1, baudrate: 921600

    • LEDs

      • led_blue (led0): P16, active high

    • PWM LEDs

      • pwm_led_red: pwm0_ch4, P10

      • pwm_led_green: pwm0_ch5, P11

      • pwm_led_blue: pwm0_ch6, P16

    • Buttons

      • key1: P04, active low, pull-up enable

      • key2: P05, active low, pull-up enable

  • pan108xxa3_evb:

    • console, shell-uart, bt-mon-uart, bt-c2h-uart

      • uart0: TX: P30, RX: P31, 8N1, baudrate: 921600

    • LEDs

      • led_blue (led0): P16, active high

    • PWM LEDs

      • pwm_led_red: pwm0_ch4, P10

      • pwm_led_green: pwm0_ch5, P11

      • pwm_led_blue: pwm0_ch6, P16


MCU Keil例程

例程源码路径: <PAN1080-ZDK>\03_MCU\mcu_samples

MCU 底层驱动(Low Level Driver)Keil 例程:

例程

说明

MCU Low Level ADC Driver Sample

MCU 底层 ADC 驱动例程演示说明

MCU Low Level DMA Driver Sample

MCU 底层 DMA 驱动例程演示说明

MCU Low Level FMC Driver Sample

MCU 底层 FMC 驱动例程演示说明

MCU Low Level GPIO Driver Sample

MCU 底层 GPIO 驱动例程演示说明

MCU Low Level I2C Driver Sample

MCU 底层 I2C 驱动例程演示说明

MCU Low Level KSCAN Driver Sample

MCU 底层 KeyScan 驱动例程演示说明

MCU Low Level LP Driver Sample

MCU 底层 Low Power 驱动例程演示说明

MCU Low Level PWM Sample

MCU 底层 PWM 驱动例程演示说明

MCU Low Level QDEC Sample

MCU 底层 QDEC 驱动例程演示说明

MCU Low Level RF Rx Sample

MCU 底层 私有 2.4G 驱动 Rx 例程演示说明

MCU Low Level RF Tx Sample

MCU 底层 私有 2.4G 驱动 Tx 例程演示说明

MCU Low Level PRF Driver with FreeRTOS Sample

MCU 底层 私有 2.4G 驱动例程演示说明(带 FreeRTOS)

MCU Low Level SPI Sample

MCU 底层 SPI 驱动例程演示说明

MCU Low Level TIMER Sample

MCU 底层 TIMER 驱动例程演示说明

MCU Low Level UART Sample

MCU 底层 UART 驱动例程演示说明

MCU Low Level WDT Sample

MCU 底层 WDT 驱动例程演示说明

MCU Low Level WWDT Sample

MCU 底层 WWDT 驱动例程演示说明

DFU Sample

DFU 升级例程演示说明

BLE HCI Sample

BLE HCI 接口例程演示说明

MCU 硬件抽象层驱动(Hardware Abstract Level (HAL) Driver)Keil 例程:

例程

说明

MCU HAL ADC Driver Sample

MCU 硬件抽象层 ADC 驱动例程演示说明

MCU HAL GPIO Driver Sample

MCU 硬件抽象层 GPIO 驱动例程演示说明

MCU HAL I2C Driver Sample

MCU 硬件抽象层 I2C 驱动例程演示说明

MCU HAL PWM Sample

MCU 硬件抽象层 PWM 驱动例程演示说明

MCU HAL QDEC Sample

MCU 硬件抽象层 QDEC 驱动例程演示说明

MCU HAL SPI Sample

MCU 硬件抽象层 SPI 驱动例程演示说明

MCU HAL TIMER Sample

MCU 硬件抽象层 TIMER 驱动例程演示说明

MCU HAL UART Sample

MCU 硬件抽象层 UART 驱动例程演示说明

MCU HAL WDT Sample

MCU 硬件抽象层 WDT 驱动例程演示说明

MCU HAL WWDT Sample

MCU 硬件抽象层 WWDT 驱动例程演示说明