Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ADC
RT-Thread Studio
RT-Studio ART-Pi RT-Thread 4.1.0 ADC
发布于 2022-05-19 13:21:10 浏览:637
订阅该版
环境:studio 2.2.1 rt-thread 4.1.0 STM32H750 创建项目。根据board.h ADC 部分配置 1)open adc driver framework support in the RT-Thread Settings file ![ADC1.PNG](https://oss-club.rt-thread.org/uploads/20220519/ee6b0a78495376b42a975b957a5c8a12.png) 2) 在board.h 中 define macro related to the adc ``` #define BSP_USING_ADC1 ``` 3) copy your adc init function from stm32xxxx_hal_msp.c generated by stm32cubemx to the end of board.c ``` /** * @brief ADC MSP Initialization * This function configures the hardware resources used in this example * @param hadc: ADC handle pointer * @retval None */ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) { GPIO_InitTypeDef GPIO_InitStruct = {0}; if(hadc->Instance==ADC1) { /* USER CODE BEGIN ADC1_MspInit 0 */ /* USER CODE END ADC1_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_ADC12_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); /**ADC1 GPIO Configuration PB1 ------> ADC1_INP5 */ GPIO_InitStruct.Pin = GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /* USER CODE BEGIN ADC1_MspInit 1 */ /* USER CODE END ADC1_MspInit 1 */ } } /** * @brief ADC MSP De-Initialization * This function freeze the hardware resources used in this example * @param hadc: ADC handle pointer * @retval None */ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) { if(hadc->Instance==ADC1) { /* USER CODE BEGIN ADC1_MspDeInit 0 */ /* USER CODE END ADC1_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_ADC12_CLK_DISABLE(); /**ADC1 GPIO Configuration PB1 ------> ADC1_INP5 */ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_1); /* USER CODE BEGIN ADC1_MspDeInit 1 */ /* USER CODE END ADC1_MspDeInit 1 */ } } ``` 修改 adc_config.h 的ADC1_CONFIG 如下 ``` #define ADC1_CONFIG \ { \ .Instance = ADC1, \ .Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4, \ .Init.Resolution = ADC_RESOLUTION_12B, \ .Init.ScanConvMode = DISABLE, \ .Init.EOCSelection = DISABLE, \ .Init.ContinuousConvMode = DISABLE, \ .Init.NbrOfConversion = 1, \ .Init.DiscontinuousConvMode = DISABLE, \ .Init.NbrOfDiscConversion = 0, \ .Init.ExternalTrigConv = ADC_SOFTWARE_START, \ .Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE, \ } ``` 修改 drv_adc.c stm32_adc_enable 函数 加入 defined(SOC_SERIES_STM32H7) ``` #if defined(SOC_SERIES_STM32L4) || defined(SOC_SERIES_STM32G0) || defined(SOC_SERIES_STM32H7) ADC_Enable(stm32_adc_handler); #else __HAL_ADC_ENABLE(stm32_adc_handler); #endif } else { #if defined(SOC_SERIES_STM32L4) || defined(SOC_SERIES_STM32G0) || defined(SOC_SERIES_STM32H7) ADC_Disable(stm32_adc_handler); #else __HAL_ADC_DISABLE(stm32_adc_handler); #endif ``` 4)在stm32h7xx_hal_conf.h 中,使能 HAL_ADC_MODULE_ENABLED ``` \ | / - RT - Thread Operating System / | \ 4.1.0 build May 19 2022 12:44:32 2006 - 2022 Copyright by RT-Thread team [D/main] Hello RT-Thread! msh >list_device device type ref count -------- -------------------- ---------- adc1 Miscellaneous Device 0 uart4 Character Device 2 pin Miscellaneous Device 0 ``` 看到 adc1, 基本就可以了
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
RWZZ_6063
这家伙很懒,什么也没写!
文章
9
回答
39
被采纳
3
关注TA
发私信
相关文章
1
请大神帮忙看下风格 还是哪里有问题 照着串口驱动写的ADC驱动
2
ADC config
3
rt_thread_delay()和ADC采样之间的冲突
4
请教在官方BSP中的STM32F40X程序中加入ADC,串口没输出。
5
给RT-Thread添加ADC驱动框架
6
求助:ADC采样被干扰
7
【内核和外设学习营】十里 ADC光敏电阻电压采集实验
8
<内核学习营>+坦然+探索者stm32f407板子的ADC测试光传感器实验
9
【内核学习营】+青春+ADC读取光敏传感器实验
10
《内核学习营》+水一方+项目中应用的ADC实现电压采集
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部