完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我设置了 DMA 以将数据从 HSADC FIFO 移动到内存。这似乎工作正常,但是有一些意外行为。
传输的样本数量远远大于预期的 16 个字。据我了解,DMA 传输是在设置 HSADC FIFO_FULL 标志时启动的。我已将 FIFIO 填充级别设置为 15。因此在 15 个样本之后,DMA 应该触发并将 16 个样本移出 FIFO 并移入目标地址。 在 DMA 处理程序中,我重置通道以准备好进行另一次传输。根据我的理解,下一次 DMA 传输发生时,目标地址应该是相同的(例如:dest[0]),但是,目标地址似乎是上次传输后的下一个地址(例如:dest[ 16]). 这导致 DMA 以极快的速度填满内存。 这里发生了什么? void DMA_IRQHandler(void) { Chip_GPDMA_Interrupt(LPC_GPDMA, dmaCh); //clears it LPC_GPDMA->CH[dmaCh].SRCADDR = (uint32_t) &LPC_ADCHS->FIFO_OUTPUT[0]; LPC_GPDMA->CH[dmaCh].DESTADDR = ((uint32_t) &dest[0]); LPC_GPDMA->CH[dmaCh].CONFIG |= 1; } void adchs_dma_setup(void) { Chip_GPDMA_Init(LPC_GPDMA); dmaCh = Chip_GPDMA_GetFreeChannel(LPC_GPDMA, GPDMA_CONN_ADCHS_READ); Chip_GPDMA_Transfer(LPC_GPDMA, dmaCh, GPDMA_CONN_ADCHS_READ, (uint32_t) &dest[0], GPDMA_TRANSFERTYPE_P2M_CONTROLLER_PERIPHERAL, NULL); /* Enable GPDMA interrupt */ NVIC_SetPriority(DMA_IRQn, 0); NVIC_ClearPendingIRQ(DMA_IRQn); NVIC_EnableIRQ(DMA_IRQn); } void adchs_setup(void) { Chip_HSADC_Init(LPC_ADCHS); Chip_HSADC_SetupFIFO(LPC_ADCHS, 15, false); Chip_HSADC_ConfigureTrigger(LPC_ADCHS, HSADC_CONFIG_TRIGGER_SW, HSADC_CONFIG_TRIGGER_RISEEXT, HSADC_CONFIG_TRIGGER_NOEXTSYNC, HSADC_CHANNEL_ID_EN_NONE, 0x90); Chip_HSADC_SetACDCBias(LPC_ADCHS, 0, HSADC_CHANNEL_DCBIAS, HSADC_CHANNEL_NODCBIAS); Chip_HSADC_SetPowerSpeed(LPC_ADCHS, false); Chip_HSADC_EnablePower(LPC_ADCHS); Chip_HSADC_SetupDescEntry(LPC_ADCHS, 0, 0, (HSADC_DESC_CH(0) | HSADC_DESC_BRANCH_FIRST | HSADC_DESC_MATCH(1) | HSADC_DESC_THRESH_NONE | HSADC_DESC_RESET_tiMER)); Chip_HSADC_EnableInts(LPC_ADCHS, 0, (HSADC_INT0_FIFO_FULL)); Chip_HSADC_UpdateDescTable(LPC_ADCHS, 0); NVIC_EnableIRQ(ADCHS_IRQn); } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1935个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36430 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
5016 浏览 1 评论
6115 浏览 1 评论
6822 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4254 浏览 0 评论
655浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
646浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
647浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
737浏览 2评论
850浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 10:44 , Processed in 0.542870 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号