历史上的今天
今天是:2025年02月15日(星期六)
2019年02月15日 | STM32F的利用HAL库ADC转换DMA方式多通道采样调试总结
2019-02-15 来源:eefocus
1,规则模式下,用户内存缓冲区的数据宽度需要和DMA设置的数据宽度一致,如下:
typedef struct rt_device_hwadc
{
struct rt_device parent;
const struct rt_hwadc_ops *ops;
uint8_t flag_adc_convert_complete;
__IO uint16_t adc_converted_value[TOTAL_CHANNELS];
}rt_device_hwadc_t;
hdma_adcx.Instance = ADC_DMAx_CHANNELn; hdma_adcx.Init.Direction = DMA_PERIPH_TO_MEMORY; hdma_adcx.Init.PeriphInc = DMA_PINC_DISABLE; hdma_adcx.Init.MemInc = DMA_MINC_ENABLE; hdma_adcx.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; hdma_adcx.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; hdma_adcx.Init.Mode = DMA_CIRCULAR; hdma_adcx.Init.Priority = DMA_PRIORITY_HIGH; HAL_DMA_Init(&hdma_adcx); __HAL_LINKDMA(hadc,DMA_Handle,hdma_adcx);123456789101112
2, 启动转换时连接DMA的通道数
HAL_ADC_Start_DMA(&(hwadc->adcHandle), (uint32_t *)buffer, TOTAL_CHANNELS)
其中buffer的数据类型是uint16_t*.
3,多通道顺序参数rank,
在配置rank时,如果配置的rank在开启的通道中不连续,DMA无法将转换的数据传到对应的缓冲区,也就和无法读取到该通道的数据。
史海拾趣
|
《社区大讲堂》DO-254中的高设计可靠性的逻辑综合(七)--支持逻辑等效型检查 设计可靠性在DO-254的A级和B级设计中尤其重要。. 附录B中对有这样的描述:“当设计可靠性级别增加后, 设计方法需要能够验证被测设计满足安全性要求, 这些要求有可能有重合的部分,需要有层次化的设计可靠性设计方法。 在任何设计过程中,如 ...… 查看全部问答> |
|
我是按照这个网页一步一步作的:http://www.pcwiki.net/ht/view/cps-4/id-20978 前面一切都调试成功,作到上面页面的Target | Attach步后,,出现“download Runtime Image to CE Device \" 然后进度条就一直没有变,请问这个下载很 ...… 查看全部问答> |
|
这是WINCE帮助文档上的介绍: LONG RegReplaceKey( HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpNewFile, LPCTSTR lpOldFile ); hKey [in] The hKey parameter must be HKEY_LOCAL_MACHINE ...… 查看全部问答> |
|
本人是计算机专业毕业,对java,php,delphi都有相当的工作经验,学过一定时间的伟福,但它的接口没有RAM丰富,现在想学一下RAM,请问一下RAM是在windows还是linux下运行,还有就是调度软件用什么,要不要仿真器.… 查看全部问答> |
|
M0 新唐CM0+MDK-ARM入门开发过程简介之平台的建立 一 平台资源下载 1.Mdk4.12的下载因为是最新发布的芯片所以现在只有mdk4.11和4.12支持本系列芯片。 下载地址 在http://www.mcu123.com/news/Soft/ShowSoftDown.asp?UrlID=3&SoftID=529上右击“下载地址:” ...… 查看全部问答> |
|
3G模块:EM770w 直接用AT命令控制,已实现PPP连接(因为获得网关分配的私有IP,我认为,不知道对否)。在这种情况下如何进行UDP通信。因为打算把EM770W放在一块开发板上,所以希望有高手能提供一些关于AT命令或者更底层的意见。 这个EM770W完全不 ...… 查看全部问答> |




