完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想发送 ADC 测量的 16 位、16 通道数据。但我意识到 BLE 正在传输 8 位数据。我该如何解决这个问题?
我的关键脚本如下。 <主.c> uint16_t DMAo[16]; HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); HAL_ADC_Start_DMA(&hadc1, (uint32_t*)DMAo, 16); uint8_t UpdateCharData[247]; uint8_t NotifyCharData[247]; uint32_t DMA32[16]; 外部 uint16_t DMAo[16]; 外部 ADC_HandleTypeDef hadc1; 无效我的任务(无效) { 如果(HAL_GPIO_ReadPin(LD2_GPIO_Port,LD2_Pin)) { HAL_ADC_Start(&hadc1); 对于(int i=0;i<16;i++) { DMAf = DMAo; DMA32 = DMAo; UpdateCharData = DMA32; } Custom_Readwrite_Update_Char(); } 别的 { HAL_ADC_Stop(&hadc1); } UTIL_SEQ_SetTask(1 << CFG_TASK_MY_TASK, CFG_SCH_PRIO_0); } void Custom_Readwrite_Update_Char(void) { Custom_STM_App_Update_Char(CUSTOM_STM_READWRITE, (uint8_t *)UpdateCharData); 返回; } tBleStatus Custom_STM_App_Update_Char(Custom_STM_Char_Opcode_t CharOpcode, uint8_t *pPayload) { tBleStatus 结果 = BLE_STATUS_INVALID_PARAMS; 开关(字符操作码) { 案例 CUSTOM_STM_READWRITE: 结果 = aci_gatt_update_char_value(CustomContext.CustomAdccHdle, CustomContext.CustomReadwriteHdle, 0, /* 字符值偏移量 */ SizeReadwrite, /* charValueLen */ (uint8_t *) pPayload); 休息; 默认: 休息; } 返回结果; } |
|
相关推荐
1个回答
|
|
如果一切正确,您应该得到 32 个 8 位数据。
在接收端,需要将2个8位数据转换成1个16位数据。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2644 浏览 1 评论
3209 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1784 浏览 1 评论
3613 浏览 6 评论
5990 浏览 21 评论
940浏览 4评论
1317浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
585浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1304浏览 3评论
1362浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 19:46 , Processed in 1.315166 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号