自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 nRF SAADC 相关

实际电压值 = 采样值 / (最大值 + 1) * 最大值对应的电压例如 ADC 的采样精度位10位则最大值 = 10位二进制全一的数 + 1 = 2 ^ 10 = 1024最大值对应的电压为 参考电压 / 增益倍数...

2020-01-15 16:25:50 294

原创 nRF LOG相关

ses 直接输出 log 的方法:sdk_config.h --> nRF_Libraries --> nrf_fprintf --> NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 取消勾选log 输出浮点数:NRF_LOG_INFO("My float number" NRF_LOG_FLOAT_MARKER "\r\...

2020-01-15 16:24:37 548

原创 oled 显示不同尺寸字库的方法(中景园 256*64 驱动芯片为:SH1122)

点阵格式选择阳码或阴码具体视oled型号而定,取模方式要配合具体 oled 的驱动芯片的滚动方向而定(中景园的2.08寸 256*64 oled 驱动芯片 SH1122 的滚动方向为竖向)void oled_show_10_char(uint8_t x, uint8_t y, uint8_t chr, const struct sh1122_dev *dev){ uint8...

2020-01-15 16:24:08 2955 4

原创 nRF SPI 与 TWI 操作相关 (BMI088 与 MLX90614 举例)

SPI0 与 TWI0 的 ID相同,SPI0 与 TWI0 的 ID相同。编译时有报错若要避免,有两个方法1、使用不同ID外设2、使用模拟SPI或模拟IICnRF SPI 初始化sdk_config.h 中:添加:// <h> Application//==========================================...

2020-01-15 16:04:54 1280

原创 nRF double 型 printf 无法输出解决方法 及 sprintf 用法

ses中 Options --> Printf/Scanf --> Printf Floating Point Supported 由 No 改成 Double注:记得在 Common 下改static uint8_t accel_data_buffer[9] = "0";若是变量要转换为字符串,则可以使用 spintf 格式化数据sprintf(accel...

2020-01-15 15:18:00 411

原创 nRF keil工程错误相关

若因__use_no_semihosting编译不过,就要检查有无错误调用,多半在SEGGER_RTT_Syscalls_KELL.c中。若用到此文件则在sdk_config.h中多加一个宏定义// <q> RETARGET_ENABLED - retarget - Retargeting stdio functions#ifndef RETARGET_ENABLED#de...

2020-01-15 15:16:48 502

原创 nRF 内存管理相关

勾选 sdk_config.h --> nRF_Libraries --> MEM_MANAGER,然后在其中设置XXS到XXL的块大小及块数量,注:若设置块大小为40个字节 块数量为10块,即便只申请32个字节的大小,也只能申请到10块。添加 mem_manager.c 文件,main.c中调用 UNUSED_VARIABLE(nrf_mem_init()); 进行初始化,使用 ...

2020-01-15 15:12:38 911

原创 cJSON解析库相关

有关数据解析的操作示例(https://blog.csdn.net/hxlawf/article/details/90269458)有关数据打包及构建操作示例(http://www.wangchaochao.top/2019/07/21/cJSON-Demo/)cJSON解析——项目实例:{"code":1,"msg":"接口不存在","data":["D8FBF555330D"]...

2020-01-14 18:07:23 257

原创 nRF 主机扫描过滤器

SDK15.3不同于 HOLYIOT 项目的做法,这次使用的是 nordic 官方的扫描过滤器首先扫描初始化(如若有多个过滤条件则需修改参数 NRF_BLE_SCAN_UUID_CNT、NRF_BLE_SCAN_NAME_CNT、NRF_BLE_SCAN_SHORT_NAME_CNT、NRF_BLE_SCAN_ADDRESS_CNT、NRF_BLE_SCAN_APPEARANC...

2020-01-14 17:56:43 1737

原创 nRF RTC相关

首先在 sdk_config.h 中 勾选 nRF_Drivers --> NRFX_RTC_ENABLED 、 nRF_Drivers --> RTC_ENABLED 以及 nRF_Drivers --> RTC_ENABLED --> RTC2_ENABLED(注:在没有协议栈的操作下选择RTC0,在有协议栈并且有定时器模块的情况下选择RTC2,因为协议栈...

2020-01-14 16:13:34 516

原创 nRF 外部中断(GPIOTE)

// GPIOTE 驱动初始化:err_code = nrf_drv_gpiote_init();APP_ERROR_CHECK(err_code);// 配置设置GPIOTE输出参数,从低电平到高电平nrf_drv_gpiote_out_config_t out_config = GPIOTE_CONFIG_OUT_SIMPLE(0);// GPIOTE输出初始化:err_c...

2020-01-14 16:01:50 1237

原创 nRF 主从一体相关(主要与主机扫描有关)

SDK14.2 或 SDK15.0:到SDK15.0为止,主机扫描部分,官方没有加入扫描过滤器,所以需要自己在广播报告事件(ble_evt_handler --> BLE_GAP_EVT_ADV_REPORT)中自行判断扫描到的广播数据(p_ble_evt->evt.gap_evt->params.adv_report),(参考HOLTIOT的项目 8-汇城和-AT-HCI)...

2020-01-14 16:00:13 647

原创 nRF Nus服务上传数据时出现错误的解决方法

如遇NRF_ERROR_NO_MEM或NRF_ERROR_RESOURCES则需等待BLE_GATTS_EVT_HVN_TX_COMPLETE事件完成,SDK14.2参考中控瑞迪优-主从切换项目,在BLE_GATTS_EVT_HVN_TX_COMPLETE置一标志位tx_complete_flag = 0; 在main中do{ err_code = ble_nus_c...

2020-01-14 15:45:29 1788

原创 nRF 广播 扫描 long range 相关

Long Range是BLE 5.0 新增加的特性,能够增加蓝牙的通信距离。nRF52系列中,52840支持Long Range,52832不支持。一般工程增加Long Range支持需要做如下修改。设置 扫描/广播 功率为8 dBm设置 扫描/广播 PHY为BLE_GAP_PHY_CODED因为Long Range的广播与普通BLE广播不兼容,所以广播、扫描双方必须...

2020-01-14 15:45:06 2171

原创 nRF 蓝牙广播数据及操作相关

若使用 advdata 中 sd_ble_gap_adv_set_configure 的方法设置广播,仍可以按照advertising的配置方法,广播数据结构体用 ble_advdata_t ,将各值填入后,要解析一遍才可 sd_ble_gap_adv_set_configure 配置广播数据:/**@brief Struct that contains pointers to th...

2019-08-12 10:35:57 1836

原创 nRF 协议栈操作相关

涉及多协议需操作协议栈的项目,参考骰子项目的发送端,多协议gzll的程序使用2.4G时需保证协议栈失能,协议栈失能后,使能 LFCLK 内部分频,因2.4G部分有直接操作 LFCLK 寄存器的程序:NRF_CLOCK->LFCLKSRC = (CLOCK_LFCLKSRC_SRC_RC << CLOCK_LFCLKSRC_SRC_Pos);NRF_CLOCK...

2019-08-12 10:34:07 756

原创 nRF 低功耗相关

无协议栈的例程或涉及失能协议栈的例程LOG的相关操作会影响功耗(占用资源)低功耗电源管理函数 nrf_pwr_mgmt_run 中:使能协议栈时执行:PWR_MGMT_FPU_SLEEP_PREPARE();PWR_MGMT_SLEEP_LOCK_ACQUIRE();PWR_MGMT_CPU_USAGE_MONITOR_SECTION_ENTER();PWR_MGMT_D...

2019-08-12 10:32:32 1175

原创 nRF 密码配对流程

static void pair_sec_params_init(void){ memset(&sec_params,0,sizeof(ble_gap_sec_params_t)); sec_params.bond = SEC_PARAM_BOND; sec_params.mitm = SEC_PARAM_MITM; sec_params.lesc =...

2019-08-12 10:31:01 941 4

原创 nRF 蓝牙一从对应多主

一从对多主例程路径:examples\ble_peripheral\experimental\ble_app_multiperipheral\pca10040\s132\arm5_no_packsSDK15.3:与普通流程不同:一从对多主在连接时可同时存在n个连接句柄(conn_handle),具体多少个,需要看NRF_SDH_BLE_PERIPHERAL_LINK_COU...

2019-08-12 10:28:48 3747 3

原创 nRF 添加服务及nus服务添加通道特征及UUID 问题解决方法

SDK 11.0 或 低版本SDK:添加服务时注意 services_init 及 ble_evt_dispatch。services_init:举例电量例程,ble_evt_dispatch:举例nus服务。且在添加nus服务时要将nus更改备份,以防需要添加多个服务。注:高版本不需要 ble_evt_dispatch,因为高版本SDK在定义服务函数句柄(例:BLE_NUS_DEF)已做了相...

2019-07-08 10:10:08 3272

原创 nRF 扫描条件过滤做法

SDK15.2及以上:如若设置如下,则使用了官方的扫描过滤器满足条件后扫描回调事件会是NRF_BLE_SCAN_EVT_FILTER_MATCH再做对应操作,具体参考探锦科技项目/**@brief Function for handling Scanning Module events. */static void scan_evt_handler(scan_evt_t cons...

2019-07-08 10:07:40 1967

原创 nRF PWM配置注意事项

/* 1-channel PWM, 2700Hz, output on BUZZER pins. */app_pwm_config_t pwm1_cfg = APP_PWM_DEFAULT_CONFIG_1CH(365L, BUZZER_01);/* Switch the polarity of the second channel. */pwm1_cfg.pin_polarit...

2019-07-08 10:01:39 1107

原创 nRF 主机扫描广播数据

低功耗蓝牙广播报文分为两种:SCAN_REQ与SCAN_RSP其中Nordic的模块做主扫描时,同一时间只能扫描其中一种数据包,不能同时扫两种。所以在做扫描时要分辨好两种数据的区别...

2019-07-08 09:47:23 967

原创 nRF 开关串口功能时出现0xFF的修复

串口引脚需拉高:uart_init --> APP_UART_FIFO_INIT --> app_uart_init --> nrf_drv_uart_init --> nrfx_uarte_init --> apply_config -->if (p_config->pselrxd != NRF_UART_PSEL_DISCONNECTED){...

2019-07-08 09:42:58 427

原创 nRF 晶振配置

51及52系列内部RC及外部XTAL晶振配置:ble_stack_init --> nrf_sdh_enable_request --> clock_lf_cfg -->内部RC(51系列16Mhz 52系列32Mhz):#define NRF_SDH_CLOCK_LF_SRC 0#define NRF_SDH_CLOCK_LF_RC_CTIV 16#d...

2019-07-08 09:42:19 1034

原创 nRF 特殊引脚配置为通用GPIO

NFC脚(P0.09 and P0.10):system 52.c --> [CONFIG_NFCT_PINS_AS_GPIOS],在options for Target --> c/c++中Define此定义后,(main.c中调用SystemInit();)复位脚(P0.21):system 52.c --> [CONFIG_GPIO_AS_PINRESET],在opti...

2019-07-08 09:41:38 745

原创 nRF SDK编译错误及各功能不共存的解决方法

若因__use_no_semihosting编译不过,就要检查有无错误调用,多半在SEGGER_RTT_Syscalls_KELL.c中。若用到此文件则在sdk_config.h中多加一个宏定义// <q> RETARGET_ENABLED - retarget - Retargeting stdio functions#ifndef RETARGET_ENABLED...

2019-07-08 09:40:56 532

原创 串口数据结束判断

蓝牙通信NUS中断或串口中断中,只做获取数据及赋值,实际操作放在主函数for循环(例如打开定时器,串口输出数据等操作)

2019-07-08 09:40:16 1645

原创 Keil 插件(Configuration Wizard)启动方式

// <<< Use Configuration Wizard in Context Menu >>>\n............// <<< end of configuration section >>>

2019-07-08 09:38:01 407

BST-BMP280-DS001.pdf

BMP280芯片资料 模块引脚及相关参数 本次使用的模块型号为GY-BM E/P 280,淘宝上到处可以买到,这是对德国博世公司的BMP280芯片的一个应用封装(实物图片和封装基本电路都放在下面)。采用的主控芯片为STC8A8K64S4A12单片机,所以写的代码都是最底层的,比较适合小白看(代码贴在后面)。 引脚说明: Pin1:VCC(3.3V供电) Pin2:GND Pin3:SCL(I2C通信模式时钟信号) Pin4:SDA(I2C通信模式数据信号) Pin5:CSB(SPI通信模式下用到的引脚,本次没用到,可以悬空) Pin6:SDO(传感器地址控制位,接GND的时候I2C中器件地址为0xEC,接高电平为0xEC+ 1,本次接GND) 传感器测试范围: 温度:-45℃~+85℃ 大气压强:0~20000hPa(百帕) 测量主要模式: Sleep Mode:作电流达到uA级别,典型值为0.1uA,最大值为0.3uA,所有测量工作都停止。 Normal Mode: 正常工作,相关工作间隔时间可以通过寄存器控制。 Forced Mode:主控发起一次采集命令,传

2019-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除