用户工具

站点工具


icore4trtt_4
银杏科技有限公司旗下技术文档发布平台
技术支持电话0379-69926675-801
技术支持邮件Gingko@vip.163.com
版本 日期 作者 修改内容
V1.0 2020-02-28 zh. 初次建立

iCore4T_RTT_4_添加ADC设备驱动

通过前几个例程的介绍我们制作出了最基础的BSP工程,那么我们想利用更多的外设资源,实现更丰富的功能怎么办呢?今天我给大家分享一下STM32H750 ADC设备驱动的添加方法及使用。

一、配置ADC相应的GPIO,选择ADC时钟源

  • 1.1 iCore4T ARM+FPGA双核心板共有4路16bit ADC,其中两路用于板载电源监控,两路可供用户使用。分别是为PA0(ADC1_INP6),PA6(ADC12_INP3),PC2(ADC3_INP0),PC3(ADC3_INP1)。然后我们打开../bsp/stm32/stm32h750-gingko-icore4t/board/CubeMX_Config来进行ADC IO配置,注意这里仍然是只配置IO,其他参数不用理会,然后选择ADC的时钟源。配置完成后点击CREATE CODE。

  • 1.2 CubeMx生成工程后,我们只保留红色方框内的文件,其他的两个文件夹可以删除掉。

           

  • 1.3 复制刚刚生成的src文件夹maic.c文件中的函数SystemClock_Config(void)到board.c。这里内核初始化时要调用该函数进行时钟配置。

        

二、修改kconfig文件,增加menuconfig菜单配置中ADC选项。

         

三、打开menuconfg,使能ADC1(ADC1_INP16对核心板输入电源进行监控,所以我们以此为例)。

        

四、使用scons命令生成MDK5工程,打开并进行编译。

  • 我们编译发现会有错误产生,原因为RTT当前版本的ADC驱动对H7系列还不算完善,所以这里我们进行稍稍的修改。

  • 4.1 修改adc_config.h文件中的内容

  • 4.2 修改adc_config.c文件中 stm32_adc_enable()函数的内容,红色方框为增加的内容。

          

  • 4.3 修改adc_config.c文件中 stm32_adc_get_channel函数的内容。

        

  • 4.4 修改adc_config.c文件中 stm32_get_adc_value()函数的内容。

        

  • 4.5 修改完以上内容,重新编译。

        

五、烧录进iCore4T核心板

  • 烧录进去后我们可以发现能够找到ADC1设备,并读出通道16的值为0x4F1F,我们将其转变成模拟量:(20255/65536)*2.5*6 = 4.63(V)

            

六、源代码

源代码可以移步这里下载:

链接:https://pan.baidu.com/s/1fcLU4WaRDlgr0mNYwZj1Yg  提取码:zstq

icore4trtt_4.txt · 最后更改: 2022/04/01 11:09 由 sean