stm32h750配置lwip ADC

使用LWIP MPU的配置注意项

软件版本:stm32cube 版本:6.5.0,HAL库使用版本:1.10.0
首先需要开启ICache,DCache,开启两个区域,才能使用LWIP功能。0x30040000、0x30044000.如下图。主要开启和关闭数据缓冲功能。具体的TEC、B、C、S设置的每个功能如下图。设置CPU频率在200Mhz以下。480Mhz未测试。
MPU设置

配置介绍

采集ADC数据,使用DMA和BDMA功能,stm32cube 生成代码存在BUG,导致ADC启动出错

1,正常设置ADC采集功能,开启DMA传输,如下图
2,手动增加二条指令

__HAL_RCC_ADC_CONFIG(RCC_ADCCLKSOURCE_CLKP);

增加ADC时钟使能

hadc3.Init.ClockPrescaler=ADC_CLOCK_SYNC_PCLK_DIV2;

增加ADC分频系数
3,启动ADC校准、开始DMA采集
HAL_ADCEx_Calibration_Start(&hadc3, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED);
HAL_ADC_Start_DMA(&hadc3, (uint32_t *)adc3_data_send_buff, 20);
4,上面开启的是ADC3,ADC3使用的是BDMA,不是DMA,它们是有区别的。BDMA访问的内存地址仅在D3域,地址:0x3800 0000,大小64KB。如果直接定义数据开启DMA采集是不行的,还需要强制指定数据内存地址在D3域,BDMA才能正常访问adc3_data_send_buff这个数据。可以使用这样的语句,强制指定数据地址。至此问题都解决了

uint16_t	adc3_data_send_buff[20] __attribute__((at(0x38000500)));

ADC配置


手动添加驱动


手动添加语句

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值