完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我被卡住了,如何才能将 adc 转换后的数据发送到代码中指定的任何数据类型为 uint8 的变量中?
我正在使用以下 dma 配置,但我没有在 uint8 value2 变量中接收到数据。 目的是通过 DMA 接收 value2 中的数据,然后进行处理并通过 DMA 将其发送到 pwm,因此基本上我需要知道如何通过 DMA 获取任何变量中的数据并将数据从任何变量发送到外设。 请指教。 为了将 ADC(8 位)转换为变量,我将 delsig ADC 的 EOC 连接到了 DMA 的 drq,而没有连接 DMA 的 nrq 引脚。 谢谢 以下是我使用的定义和配置 #include #include #include #include #include #include #include #定义 DMA_BYTES_PER_BURST 1 #定义 DMA_REQUEST_PER_BURST 1 #定义 DMA_SRC_BASE ( TLE9243QK_BASE_BOARD ) #定义 DMA_DST_BASE ( TLE9243QK_BASE_BOARD ) void DMA_Config(){ /* DMA 的变量声明 */ /* 将这些变量声明移到函数的顶部 */ uint8 DMA_Chan; uint8 DMA_TD[1]; /* DMA 的 DMA 配置 */ DMA_Chan = DMA_DmaInitialize(DMA_BYTES_PER_BURST,DMA_REQUEST_PER_BURST,HI16(DMA_SRC_BASE),HI16(DMA_DST_BASE)); DMA_TD[0] = CyDmaTdAllocate(); CyDmaTdSetConfiguration(DMA_TD[0], 1, DMA_TD[0], DMA__TD_TERMOUT_EN ); CyDmaTdSetAddress(DMA_TD[0], LO16((uint8)ADC_DEC_SAMP_PTR), LO16((uint8) value2)); CyDmaChSetInitialTd(DMA_Chan, DMA_TD[0]); CyDmaChEnable(DMA_Chan, 1); } |
|
相关推荐
1个回答
|
|
您是否尝试过 ADC_DMA_VDAC 示例项目。
这基本上就是你所要求的功能。 我能看到的唯一区别是,DMA 将 ADC 数据加载到 VDAC 中,而不是 SRAM 变量中。 运行此示例,然后对其进行修改,将 ADC 值存储到 SRAM 中。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
479 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
229 浏览 0 评论
334 浏览 0 评论
165 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》 第十六章 WATCH_DOG实验
496 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11972 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 11:15 , Processed in 0.640134 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号