1 Star 0 Fork 0

Joel/nrf52840

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

HTI ECG_project

摘要Summary

  • 文档介绍如何管理ECG项目firmware的编程及迭代,您可以参考此文档更快速的定位源代码
  • 应用笔记中难免会出现一些笔误,如若发现,会即时更正,Copyright (C) 保康公司,保留所有权利
  • 在阅读本文档之前,您可能需要具备以下基础知识

[模拟&数字]电路分析基础

nordic 52840 soc 应用

C语言&汇编-编程应用

C语言基本数据结构:[01 数组]-[02 链表]-[03 栈]-[04 队列]-[05 哈希表]-[06 树]-[07 堆]

python语言基本编程应用

更新Update

版本号 更新内容 编写者 日期
1.0.0 第一次发布 邓维安 2024-12-11_08:10:11

1.0.0内容

  • 第一次发布

查询更多历史版本

开发环境

编译调试环境

  • 编译调试环境可在windows或linux下进行,本文主要介绍以Linux(ubuntu)为主
  • Linux(ubuntu)
工具 版本 参考 / 链接
ubuntu 22.04.3 LTS download
VS_code 1.85.0 VS_code_install_link
nRF Connect SDK v2.8.0 nRF-Connect-SDK
nRF-Command-Line-Tools - command
J link V9.7 (driver for linux 7.90a) jlink_driver
Wireshark for sniffer ble 3.6.2 参考nordic官方安装方法(安装比较繁琐)
Python3 3.10.12 pyhon

示例

  • sdk主要以Cmake与gcc进行编译与调试

Visual Studio Code开发环境

安装nRF Connect for VS Code Extension Pack

安装toolchains插件

安装Manage SDKs v2.8.0

  • 如果采用离线安装,注意toolchains文件夹&v2.8.0(Manage SDKs)同在ncs文件夹下面,如下所示
dengweian@dengweian-Aspire-V3-771:~/ncs$ ls
download  downloads  tmp  toolchains  v2.8.0
dengweian@dengweian-Aspire-V3-771:~/ncs$ 
  • 如果您无法正常编译,最好还是用开箱即用的nRF Connect for VS Code Extension Pack扩展安装,但由于github延迟原因,您可能还需要设置电脑中的hosts文档。

程序架构

mater 分支为 LDO供电模式

dcdc 分技为 DCDC供电模式

程序运行

block-beta columns 1 block:Layer1 style Layer1 fill:#ff9999,stroke:#ff0000,stroke-width:2px a["main.c"] style a fill:#ffcccc b["task.c"] style b fill:#ffb3b3 end block:Layer2 style Layer2 fill:#99ccff,stroke:#0066cc,stroke-width:2px c["button_led.c"] style c fill:#ff6666 e["buzzer.c"] style e fill:#cce0ff f["gh3x2x_lib_v4200"] style f fill:#99ccff g["sd_nand.c"] style g fill:#66b3ff end block:Layer3 style Layer3 fill:#d9d9d9,stroke:#b3b3b3,stroke-width:2px h["device tree"] style h fill:#e6e6e6 i["Kconfig"] style i fill:#cccccc end block:Layer4 style Layer4 fill:#c2f0c2,stroke:#33cc33,stroke-width:2px l["ncs_v2.8.0(zephyr)"] style l fill:#b3f0b3 end block:Layer5 style Layer5 fill:#fff2cc,stroke:#ffcc00,stroke-width:2px m["Cortex™-M4 CPU"] style m fill:#ffe680 n["ARMv7-M"] style n fill:#ffd11a end

ncs补丁patch

  • 将此工程中ncs_patch/fatfs中的所有文件替换掉/home/dengweian/ncs/v2.8.0/modules/fatfs中的所有文件,原.git文件不需要修改

应用协议 PROTOCOL

  • 根据ECG BLE protocol ver x.x解析功能
  • 协议主要分为三部分组成:功能,参数,数据
  • 每次交互都是单个通讯,也就是说在正常通讯时,master - > device; device - > master;是一组正确的数据交互
  • 超时和心跳机制由master产生,定义master发包格式如下:

master -> nrf 52840

功能 参数 数据
8bytes 16 bytes nbytes

<功能>由8 bytes组成,其详细信息为:

PCode Group Cmd ChkSum MOSI MISO
1btye 1btye 1btye 1btye 2btyes 2btyes

<参数>由16 bytes组成,其组成信息由当前格式而定,可以为uint8_t/char/float/int,但其总长度不超过这个值即可

<数据>由 n bytes组成,注意这个n是有限个数,其取决于您在send buffer中的最大缓冲值

nrf 52840 -> master

协议主要分为两部分组成:功能,数据

功能 数据
8bytes nbytes

<功能>由8 bytes组成,其详细信息为:

PCode Group Ack ChkSum Index Length
1btye 1btye 1btye 1btye 2btyes 2btyes

<数据>由 n bytes组成,注意这个n是有限个数,其取决于您在send buffer中的最大缓冲值

  • 注意就是MOSI表示当前数据长度,MISO是需要52840回传的数据长度即Length

上线帧

  • 当蓝牙广播后,通过ECG app搜索到设备,这时app连接成功,那么认为设备上线
  • 上线需要触发3次功能交互

空文件

简介

nrf52840(HTI&AIT ECG) 展开 收起
C 等 3 种语言
取消

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/YIJia_Kitchen_Bath/nrf52840.git
git@gitee.com:YIJia_Kitchen_Bath/nrf52840.git
YIJia_Kitchen_Bath
nrf52840
nrf52840
master

搜索帮助