- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 解决cc2652做为client发送给对端的字节数最大为20的问题
即在BLE连接建立后,由作为client的cc2652通过调用GATT_ExchangeMTU函数发起更改MTU的操作,将MTU设置为想要的最大传输数据个数。= 23 字节)值,直到交换 MTU 过程产生更大的 MTU 大小。必须在每个低功耗蓝牙连接上执行交换 MTU 过程,并且必须由客户端启动。属性的特征值给对端(APP)发送数据时,最多只能发送20个字节。原因是:虽然可以将堆栈配置为支持。最多 255 个字节,但每个低功耗蓝牙连接最初都使用默认的 27 字节(测试cc2652最为client通过拥有。
2024-06-06 17:00:37 152
原创 cc2652移植letter-shell
移植主要是修改shell_port.c、shell_port.h、shell_cfg_user.h三个文件,如果想使用SHELL_EXPORT_CMD()等导出命令,还需要修改链接器文件,即cc2652工程的*.cmd文件。其中,userShellLock/Unlock可以使用二值信号量或者GataMutex(Pri)互斥锁实现,我选择的是GataMutexPri,可以通过修改注释的代码用Semaphore实现,或者用GataMutex实现。如果想使用命令列表的方式,可以不需要修改*.cmd文件。
2024-06-05 12:00:39 136
原创 stm32同时使用ADC1和ADC2注意的问题
stm32的adc1和adc2可以设置为同步模式,即使ADC1和ADC2配置为独立模式,也需要注意,在调用HAL_ADCEx_MultiModeConfigChannel函数将ADC1配置为独立模式时,ADC1和ADC2必须都失能或者使能时停止ADC转换(Parameters that can be updated when ADC is disabled or enabled without conversion on going on regular group),否则HAL_ADCEx_MultiMo
2024-04-22 10:34:01 735 1
原创 实现stm32使用DMA单次采集多通道ADC数据
除了使用单次DMA实现多通道数据采集的方式,还可使用“Discontinuous Conversion Mode”的方式用轮询的方式实现,代码如下所示,每次调用HAL_ADC_Start会执行一个通道数据转换,调用HAL_ADC_GetValue获取此通道数据,再调用HAL_ADC_Start启动下一个通道的转换,直到所有通道转换完毕,再次调用HAL_ADC_Start时开启新一轮的转换。
2024-04-17 18:34:40 991
原创 解决STM32CubeIDE不能调试的问题
当安装完IDE之后,点击“运行”或“调试”时,会报一些错误,比如加载elf文件失败、gdb运行失败等,主要原因是未配置“运行配置”,下面将介绍如何进行配置。3. 选择调试器,如下图,CubeIDE默认只支持ST-Link和JLink,对DAP-Link等不友好,需要繁琐的配置。2. 选择STM32 C/C++ Application,点击左上角的新建配置按钮,如下图。4. 点击运行“运行”按钮,即可完成配置。此配置只需配置一次。到此即可以下载程序和调试。
2024-01-18 10:41:54 2520
原创 基于gd32f4xx的rtthread使用hwtimer遇到的问题
TIMER1/2/3/4/5/6/11/12/13属于APB1;以TIMER4为例,它的时钟由CK_AHB、APB1 Prescaler的分频(由RCU_CFG0寄存器的[10:12]位(APB1PSC[2:0])设置)和CK_APB1的倍频(由RCU_CFG1寄存器的[24]位(TIMERSEL))实现。rcu_clock_freq_get(CK_APB1)函数获取CK_APB1的值,即CK_AHB经过APB1 Prescaler分频后的值,由它决定prescaler的值。定时器的时钟设置如下图所示。
2023-09-11 18:34:17 339
原创 GD32F4单片机实现接收超时中断+DMA实现串口的不定长接收和DMA发送
GD32F4单片机实现接收超时中断+DMA实现串口的不定长接收和DMA发送
2023-05-29 17:56:48 1282 1
原创 QP: 一种替代前后台和RTOS的程序框架
QP(量子平台)是一个基于活动对象和层次式状态机的开源实时嵌入式框架(real-time embedded frameworks)和运行环境。一种优秀的可以代替前后台和RTOS的实时运行框架
2023-05-23 12:20:38 6375 3
原创 EFR32MG22与TI CC2652RSIP对比
1. 性能对比MCU 参数 EFR32MG22 CC2652RSIP 内核 Cortex-M33 Cortex-M4F 工作频率 76.8 MHz 48 MHz 协处理器 - Yes Flash 512 kB 352 KB RAM 32 kB ...
2022-04-29 15:17:01 1007
转载 C语言编程规范(精华总结)
目录1、代码总体原则2、头文件3、函数4、标识符命名与定义5、变量6、宏、常量7、表达式8、注释9、排版与格式10、代码编辑编译1、代码总体原则1.1、清晰第一清晰性是易于维护、易于重构的程序必需具备的特征。代码首先是给人读的,好的代码应当可以像文章一样发声朗诵出来。目前软件维护期成本占整个生命周期成本的40%~90%。根据业界经验,维护期变更代码的成本,小型系统是开发期的5倍,大型系统(100万行代码以上)可以达到100倍。业界的调查指出,开发组.
2022-04-29 14:32:20 3452
原创 ARM Cortex-M3/M4内核相关
1、什么是ARM Cortex-M处理器1.1、Cortex-M3和Cortex-M4处理器Cortex-M3(2005年发布)和Cortex-M4(2010年发布)处理器是ARM公司设计的处理器。Cortex-M3和Cortex-M4处理器使用32位架构,寄存器组中断内部寄存器、数据以及总线接口都是32位。Cortex-M处理器使用的指令集架构(ISA)是Thumb ISA(是一种RISC(精简指令集)),其基于Thumb-2技术并同时支持16位和32位指令。主要有以下特点:三级流水线
2022-04-26 14:50:22 12011 1
原创 CC2652 OAD升级
1、介绍执行一个OAD需要两个无线设备:OAD目标设备(OAD Target) OAD分发设备(OAD Distributor)OAD目标设备接收通过无线传输的镜像。负责实现用于发送和接收OAD镜像数据的协议栈特定传输层。OAD分发设备负责将新固件镜像分割成协议堆栈特定的包,并通过空中发送它们。2、启动镜像管理器 (BIM)BIM是一个完全可执行的应用程序,它独立于任何高级协议栈或用户应用程序。它永久驻留在OAD目标芯片上的最后一个flash页,CCFG也在此页。修改CCFG的I
2022-04-26 12:12:56 1067
原创 基于原子探索者stm32f407开发板的ucos-iii+lwip1.4.1的tcp server并发服务器解决例程
此方案是基于原子探索者stm32f407开发板的一种ucos-iii+lwip1.4.1的tcp server并发服务器解决例程,实现子tcp连接的动态处理,包括建立子连接时的动态任务创建、资源创建;子连接断开连接时的任务删除和资源回收
2022-04-24 18:26:57 948
基于stm32f103的freemodbus1.5版本的多端口的从设备源代码
2023-03-30
基于探索者stm32f407开发板ucos-iii+lwip1.4.1的tcp server并发服务器解决例程配套的源码
2022-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人