
STM32WB55
周星星_少年只有一个面
这个作者很懒,什么都没留下…
展开
-
stm32 wb55 dc-dc供电 蓝牙连接不稳定
开发过程中发现Vin 超过 3.85v,蓝牙连接不稳定。反馈脚与Vout之间添加一个 5nf电容。原创 2021-03-16 14:23:35 · 594 阅读 · 0 评论 -
keil 编译优化等级低 导致flash操作失败
记一个坑之前想用V6的ARM Complier,尝试未果,,,这个过程不提了。然后切回V5的版本,结果没注意编译优先级变成了 -O1,导致程序code段占的flash空间大了一倍。后面操作flash就操作到了code段于是失败。-O1 优化生成的map文件-O3 优化生成的map文件...原创 2020-08-25 16:35:22 · 771 阅读 · 1 评论 -
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 · 1208 阅读 · 0 评论 -
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 · 1480 阅读 · 0 评论 -
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 · 412 阅读 · 0 评论 -
一个开发日常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 · 5602 阅读 · 4 评论 -
STM32WB55xx 任意长度和任意地址写入的 Flash 驱动
/** ****************************************************************************** * File Name : McuFlash.c * Description : Flash driver for STM32WB55xx * @author : zxk *******************************************************原创 2020-07-29 09:03:23 · 1795 阅读 · 0 评论 -
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 · 303 阅读 · 0 评论 -
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 · 541 阅读 · 0 评论 -
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 · 1137 阅读 · 0 评论 -
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 · 778 阅读 · 0 评论 -
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 · 1527 阅读 · 2 评论 -
记录一个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 · 477 阅读 · 2 评论 -
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 · 1727 阅读 · 2 评论 -
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 · 771 阅读 · 0 评论 -
WB55 低功耗
#define CFG_LPM_SUPPORTED 0原创 2020-07-09 09:43:22 · 500 阅读 · 0 评论 -
STM32CUBE 生成STM32WB55XX带 BLE 的工程
时钟配置外部高速晶振给晶振使用使能RTC中断使能RF使能BLEconfig添加代码修改广播名测试查看用nrf connect查看原创 2020-07-08 17:07:12 · 1609 阅读 · 6 评论 -
CUBE 配置 stm32wb55 ble蓝牙参数
打开cube help文档原创 2020-07-08 09:54:23 · 2255 阅读 · 0 评论 -
消除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 · 5942 阅读 · 6 评论 -
keil警告 xxx.axf: Warning: L6304W: Duplicate input file stag_wb55_ml\dbg_trace_1
记录一个日常 包含文件重复的警告。原创 2020-07-07 15:00:04 · 698 阅读 · 0 评论 -
用ST-LINK SWD接口在命令行界面 读取 STM32WB55xx 协议栈版本
STM32WB55rgv6STM32_Programmer_CLI.exe -c port=SWD mode=HOTPLUG -r32 0x20030000 4原创 2020-07-02 14:23:19 · 844 阅读 · 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 · 1534 阅读 · 0 评论