自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (9)
  • 收藏
  • 关注

原创 IAR下 __no_init ram nRF52810 软复位不丢时间戳 ram 保持

需求 :nRF52810 软复位不丢时间戳1、复位类型判断参考文档:nRF52810_PS_v1.3.pdf if(0 == (0x0005000f & nrf_power_resetreas_get())){ g_timeStamp = 0; NRF_LOG_DEBUG("--> HardWare reset"); }else{ NRF_LOG_DEBUG("--> SoftWare reset"); }2、设置app工程

2020-06-11 19:52:22 170

原创 1kHZ基频 1毫秒定时器 IO口 模拟pwm 呼吸灯

void GREEN_OFF() { /* 灭灯 */ }void GREEN_ON() { /* 点灯 */ }#define DUTY_RATE_NUM 44#define DURATION_TIME 50static uint8_t count = 0; // 小周期计时static uint8_t count2 = 0; // 小周期计次static uint8_t steppingDir = 0; // 变化方向控制static uint8_t s_dutyIndex =

2020-11-09 11:27:29 48

原创 nRF 52820 高压模式供电烧录失败问题

nRF 52820 高压模式供电 默认输出1.8v 需要在初始化设置输出电压#define UICR_REGOUT0_VOUT_1V8 (0UL) /*!< 1.8 V */#define UICR_REGOUT0_VOUT_2V1 (1UL) /*!< 2.1 V */#define UICR_REGOUT0_VOUT_2V4 (2UL) /*!< 2.4 V */#define UICR_REGOUT0_VOUT_2V7 (3UL) /*!< 2.7 V */#de

2020-11-05 11:33:17 9

原创 记一个小bug:布尔变量取反不能用 ~ 符号

记一个c的小bug:布尔变量取反不能用 ~ 符号{ static bool cnt = false; cnt = ~cnt; switch(cnt) { case 0: NRF_LOG_DEBUG("a cnt[0x%x] = false.",cnt); break; default: NRF_LOG_DEBUG("a cnt[0x%x]

2020-10-28 16:21:02 14

原创 CMSIS-RTOS v2 信号量api 学习

Keil官网 CMSIS-RTOS v2 信号量章节的网址功能: 创建并初始化一个信号量参数 max_count : 最大可获取的值参数 initial_count : 可获取的初始值参数 attr : 信号量的相关属性(名字,大小 ...)返回值: 后面被用来释放和获取的信号量句柄osSemaphoreId_t osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr);

2020-09-22 10:12:18 152

原创 nrf52xx 电池电压ADC低功耗滑动滤波采样

sdk_config.h 修改宏SAADC_ENABLED & NRFX_SAADC_ENABLED#include "nrf_drv_saadc.h"#include "nrfx_saadc.h"#include "nrf_saadc.h"/**sdk_config.h 修改宏*SAADC_ENABLED & NRFX_SAADC_ENABLED*///阻塞模式不需要回调事件处理获取采样值void saadc_evt_callback(nrf_drv_saadc_evt

2020-09-05 10:14:22 77

原创 CMSIS-OS2 api 线程标志学习

后续随进度会更新。。。–线程标志–线程标志(和事件标志接近)可用于进程间通信。比如笔者做的蓝牙指纹锁项目,蓝牙收到消息 给指纹任务设置一个线程标志,指纹任务等到标志不再阻塞根据线程标志执行对应指纹任务(注册,删除,,,)。线程标志设置函数:uint32_t osThreadFlagsSet ( osThreadId_t thread_id,uint32_t flags ) thread_id:是线程IDflags:是线程标志,根据需要设置线程标

2020-08-29 10:42:22 52

原创 keil 编译优化等级低 导致flash操作失败

记一个坑之前想用V6的ARM Complier,尝试未果,,,这个过程不提了。然后切回V5的版本,结果没注意编译优先级变成了 -O1,导致程序code段占的flash空间大了一倍。后面操作flash就操作到了code段于是失败。-O1 优化生成的map文件-O3 优化生成的map文件...

2020-08-25 16:35:22 30

原创 STM32WB55 ADC获取电压值

McuAdc.c#include <stdio.h>#include <stdint.h>#include "McuAdc.h"ADC_HandleTypeDef hadc1;/* Variables for ADC conversion data */__IO uint16_t uhADCxConvertedData = VAR_CONVERTED_DATA_INIT_VALUE; /* ADC group regular conversion data

2020-08-20 08:53:55 85

原创 STM32WB55 freertos 低功耗

修改app_conf.h打开低功耗支持宏/** * When set to 1, the low power mode is enable * When set to 0, the device stays in RUN mode */#define CFG_LPM_SUPPORTED 1关闭打印控制宏/** * keep debugger enabled while in any low power mode when set to 1 * should be set t

2020-08-19 11:06:23 100

原创 STM32WB55 RTC万年历

#ifndef __RTC_H_#define __RTC_H_#include <stdint.h>#if 0 用外部低速时钟作为时钟源#endif#define RTC_CLOCK_SOURCE_LSE#ifdef RTC_CLOCK_SOURCE_LSI#define RTC_ASYNCH_PREDIV 0x7C#define RTC_SYNCH_PREDIV 0xF9#endif#ifdef RTC_CLOCK_SOURCE_LSE#de

2020-08-18 14:21:44 62

原创 记一个日常 keil5 MDK 的异常提示Note: object file renamed from “xxx.o“ to “xxx_1.o“

有时候修改一个源文件的路径可能会忘记删除原来所在group的文件。这时keil会有提示Note: source file 'xxx.c' - object file renamed from 'xxx.o' to 'xxx_1.o'.经过测试, 删除重复文件并Rebuild都解决不了。必须在左边Project栏下选中文件右键 Options for file xxx.c取消“Include in Target Build”旁边的勾编译一次这一次编译会报错不要管错误,然后勾上这个勾再编译一次就

2020-08-05 16:27:09 716

原创 一个开发日常error: #20: identifier “SPI_HandleTypeDef“ is undefined

最近开发跑rtos带蓝牙的stm32wb55。开发st的方便在于有cube可以生成代码,可是有中间层的情况就支持的不够好。比如既带rtos又带蓝牙协议栈就无法用cube生成可以编译成功的代码。官方例程的readme的描述也说明了这一点。所以我现在只能手动修改不能享受cubeMX的便捷了。今天手动添加spi,结果出现一个报错通过全局搜索头文件关键词 stm32wbxx_hal_spi.h发现需要取消对应模块的注释。...

2020-08-04 19:49:17 243 1

原创 STM32WB55xx 任意长度和任意地址写入的 Flash 驱动

/** ****************************************************************************** * File Name : McuFlash.c * Description : Flash driver for STM32WB55xx * @author : zxk *******************************************************

2020-07-29 09:03:23 114

原创 go 语言实现CRC16-CCITT

package mainimport ( "fmt" "bytes" "encoding/binary")var MbTable = []uint16{ 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf, 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7, 0x1081, 0x0108, 0x3393

2020-07-23 16:30:52 734 1

原创 STM32WB 删除指定广播类型 数据

/* Delete Ad Type Tx Power */ ret = aci_gap_delete_ad_type(AD_TYPE_TX_POWER_LEVEL); if(BLE_STATUS_SUCCESS == ret) { APP_DBG_MSG("Successfully Delete Tx Power \n" ); } else { APP_DBG_MSG("Delete Tx Power Fail\n" ); }

2020-07-20 18:55:36 53

原创 STM32WB55 广播间隔

广播间隔以0.625ms为单位。app_conf.h#define CFG_FAST_CONN_ADV_INTERVAL_MIN (0x80) /**< 80ms */#define CFG_FAST_CONN_ADV_INTERVAL_MAX (0xa0) /**< 100ms */#define CFG_LP_CONN_ADV_INTERVAL_MIN (0x640) /**< 1s */#define CFG_LP_CONN_ADV_INTERV

2020-07-20 15:44:02 72

原创 STM32WB55 获取蓝牙链接过程协商的MTU值

1、调用aci_gatt_exchange_config这个api可以产生mtu交互事件。/** * @brief Perform an ATT MTU exchange procedure.When the ATT MTU exchange procedure is completed, a @ref aci_att_exchange_mtu_resp_eventevent is generated. A @ref aci_gatt_proc_complete_event event is a

2020-07-18 21:24:13 110

原创 STM32WB55设置扫描广播包数据

/* Update Scan data */ { uint8_t scan_data[31] = { 0x14,/*len = 1(ad type) + 2 (manuf id) + x(payload data)*/ AD_TYPE_MANUFACTURER_SPECIFIC_DATA,/*type*/ 0x7e, 0xff,/*manuf id*/ 0x00/*payload data*/ }; ret = hci_le_set_scan_response_data(

2020-07-17 08:43:45 109

原创 STM32WB55 在BLE_HeartRateFreeRTOS例程基础上修改成带rtos的p2ps透传服务

STEP1\ 通过对比p2ps和HeartRateFreeRTOS例程增删文件BLE_HeartRateFreeRTOS例程原目录替换成p2p_server_app.c修改内容1、 增删文件1.1、Application/STM32_WPAN/app/ 目录下添加一文件:p2p_server_app.c1.2、Application/STM32_WPAN/app/ 目录下删除两个文件:1\ dis_app.c 2\ hrs_app.c2、 序列器调度改成rtos任务2.1 添加代码

2020-07-16 18:42:43 130

原创 记录一个wb55例程的坑: No target connected 链接st-Link失败

烧录完例程 BLE_HeartRateFreeRTOS 后,keil烧录之前ok的程序都不行。keil 窗口一直打印 Target Dll has been cancelled弹窗找不到设备:No target connected原因:例程的代码动到了烧录的引脚

2020-07-14 15:57:27 50

原创 STM32WB55 蓝牙不定长数据读写

1、设置BLE需要通信的最大长度添加代码:发送函数/* * send notify data. */tBleStatus bleSnd(uint16_t len, uint8_t *data){ tBleStatus result = BLE_STATUS_INVALID_PARAMS; result = aci_gatt_update_char_value(aPeerToPeerContext.PeerToPeerSvcHdle,

2020-07-09 20:00:33 168

原创 STM32WB55 用 cubemx 生成串口打印

1、设置Connectivity2、带蓝牙工程的打印配置添加用户代码a.添加头文件 “app_debug.h”/* USER CODE BEGIN Includes */#include "stm32_seq.h"#include "app_debug.h"/* USER CODE END Includes */b.添加初始化 APPD_Init();/* Initialize all configured peripherals */ MX_GPIO_Init(); M

2020-07-09 15:01:53 95

原创 WB55 低功耗

#define CFG_LPM_SUPPORTED 0

2020-07-09 09:43:22 78

原创 STM32CUBE 生成STM32WB55XX带 BLE 的工程

时钟配置外部高速晶振给晶振使用使能RTC中断使能RF使能BLEconfig添加代码修改广播名测试查看用nrf connect查看

2020-07-08 17:07:12 283

原创 nrf52xx 使能打印

使能log// <e> NRF_LOG_ENABLED - nrf_log - Logger//==========================================================#ifndef NRF_LOG_ENABLED#define NRF_LOG_ENABLED 0//1#endif// <h> Log message pool - Configuration of log message pool使能RTT// <

2020-07-08 11:56:04 68

原创 CUBE 配置 stm32wb55 ble蓝牙参数

打开cube help文档

2020-07-08 09:54:23 351

原创 消除keil编译警告 #1296-D:extended constant initialiser used

记录一个日常。遇到一个c标准的警告:extended constant initialiser used。在文件开头添加如下代码/* Suppress warning messages */#if defined(__CC_ARM)// Suppress warning message: extended constant initialiser used#pragma diag_suppress 1296#elif defined(__ICCARM__)#elif defined(__G

2020-07-07 21:17:59 481 5

原创 keil警告 xxx.axf: Warning: L6304W: Duplicate input file stag_wb55_ml\dbg_trace_1

记录一个日常 包含文件重复的警告。

2020-07-07 15:00:04 176

原创 SWD 读取 STM32WB55xx 协议栈版本

STM32WB55rgv6STM32_Programmer_CLI.exe -c port=SWD mode=HOTPLUG -r32 0x20030000 4

2020-07-02 14:23:19 170 4

原创 STM32WB55XX freertos 二值信号量+dma+idle 不定长串口接收 + dma传输完成中断

1、CUBE 配置1.1硬件配置晶振配置系统时钟源配置 Tim1, systick给freertos用独立看门狗:预分频 32 喂狗超时 4095 个 分频后的周期数低功耗串口1 : 1、异步模式 2、开启全局中断低功耗串口1 : 添加 DMA时钟源选择1.2 freertos 配置添加串口任务创建信号量二、用户代码如果使用信号量同步,把使能空闲中断放在默认任务开头可以避免一种开机就死机的情况:开启中断后串口在信号量初始化之前就收到一帧数据,而在中断中释放的信号量还没有被创

2020-06-19 12:42:08 261

转载 IAR For ARM 历史版本下载链接

IAR For ARM 下载链接(官网最新):https://www.iar.com/iar-embedded-workbench/#!?currentTab=free-trials各版本下载链接:IAR 5.50.8版本http://files.iar.com/ftp/pub/box/CD-EWARM-5508-2279.zipIAR 6.10.5版本http://files.iar.com/ftp/pub/box/CD-EWARM-6105-2331.zipIAR 6.20.1版本htt

2020-06-16 09:36:41 1411 1

原创 获取 TypeA卡 卡号长度 序列号长度 uidsize

sta = piccWakeupA(tmpBuf); // send WUPA command to card if(Ok == sta) { ATQA[0] = tmpBuf[1]; ATQA[1] = tmpBuf[0]; length = (tmpBuf[0]>>6)*3 + 4;//序列号长度 }参考百度文库:(7.2.4.2.1)ISO14443协议中文版...

2020-05-13 17:38:14 194

原创 nRF52 动态修改链接参数

动态修改链接参数ble_conn_params_change_conn_params(m_conn_handle, &gap_conn_params);

2020-04-29 18:49:53 240

原创 记一个nRF52 DFU的坑

最近给nRF52810做升级.其中有一步是生成settings.hex错误代码@echo offnrfutil settings generate --family NRF52 --application app.hex --application-version 1 --bootloader-version 1 --bl-settings-version 1 settings.hex...

2020-01-13 21:39:20 647

原创 window下重命名脚本

ren xxx*.* yyy*.*

2019-12-12 15:48:17 168

原创 sky1311

记录一个日常sky1311硬件晶振和软件需对应。

2019-10-30 20:36:25 344

原创 串口重定向打印

放在usart.c#if 1#ifdef GNUC/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printfset to ‘Yes’) calls __io_putchar() */#define PUTCHAR_PROTOTYPE int __io_putchar(int c...

2019-10-30 15:39:04 159

原创 记一个日常

没有配置sdkconfigError[Li005]: no definition for “ble_nus_on_ble_evt” [referenced from E:_ZXK\proj_2019\BtPadLock\nRF5_SDK_15.3.0_59ac345\examples\

2019-10-24 11:43:32 53

原创 记一个日常

2019-10-21 17:15:26 45

STM32WB55_Debug.rar

用cube 生成 stm32wb55 带 ble 蓝牙功能的例程无其他外设功能,广播名为“STM32WB”。带串口打印。

2020-07-09

STM32WB55_TEST.rar

用cube 生成 stm32wb55 带 ble 蓝牙功能的例程无其他外设功能,广播名为“STM32WB”。

2020-07-08

wb55xx_uart_dma_rxidle_txcplt_sem.rar

stm32wb55 cube生成工程 freertos 二值信号量 + 串口接收空闲中断+dma传输完成中断

2020-06-19

wb55_uart_dma_idle.rar

stm32wb55 cube 串口不定长接收 freertos+二值信号量+dma+空闲中断+串口重定向

2020-06-19

ISO14443-3.rar

智能卡与读卡器数据传输协议; ISO14443-3:2000(E)原版协议;

2020-05-14

nRF52810_fstorage.rar

Nordic 52810 使能协议栈的工程 用fstorage的方式操作flash的一个例程

2019-08-14

moli_fp_driver.rar

魔力FPM083指纹模块的驱动文件,包换驱动函数和单元测试函数,注释详细。

2019-07-05

SEGGER.rar

嵌入式开发常用串口打印调试信息,有时串口资源不够用,我们使用jlink 打印。网上大部分教程需要swo脚,现提供一种只需要仿真口打印的方法。

2019-07-04

固态电子物理学基础复习提纲

基泰尔固体物理学导论前八章总结提要,可作为 本科固态电子学物理基础期末复习提纲。

2015-06-08

空空如也

空空如也

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

TA关注的人 TA的粉丝

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