summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2019-02-06 16:40:49 +0800
committerGitHub <[email protected]>2019-02-06 16:40:49 +0800
commit6fea6f7b7134e970f126610c7890502d45e95a17 (patch)
tree742119660436a726a513c9c31f4ce40709db7d3f
parentf87db0908e3ab0d4315858fe5f9985a23b667a6c (diff)
parente5726f206a1c2d4ff8fbb726740c83c9e122e0ea (diff)
Merge pull request #2304 from yuneizhilin/master
完善stm32_adc_init函数
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_adc.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_adc.c b/bsp/stm32/libraries/HAL_Drivers/drv_adc.c
index 3bf0c2d8fd..124fdab6bc 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_adc.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_adc.c
@@ -7,6 +7,7 @@
* Date Author Notes
* 2018-12-05 zylx first version
* 2018-12-12 greedyhao Porting for stm32f7xx
+ * 2019-02-01 yuneizhilin fix the stm32_adc_init function initialization issue
*/
#include <board.h>
@@ -206,29 +207,41 @@ static int stm32_adc_init(void)
{
int result = RT_EOK;
/* save adc name */
- char name_buf[6] = {0};
+ char name_buf[5] = {'a', 'd', 'c', '0', 0};
int i = 0;
for (i = 0; i < sizeof(adc_config) / sizeof(adc_config[0]); i++)
{
/* ADC init */
+ name_buf[3] = '0';
stm32_adc_obj[i].ADC_Handler = adc_config[i];
+ if (stm32_adc_obj[i].ADC_Handler.Instance == ADC1)
+ {
+ name_buf[3] = '1';
+ }
+ if (stm32_adc_obj[i].ADC_Handler.Instance == ADC2)
+ {
+ name_buf[3] = '2';
+ }
+ if (stm32_adc_obj[i].ADC_Handler.Instance == ADC3)
+ {
+ name_buf[3] = '3';
+ }
if (HAL_ADC_Init(&stm32_adc_obj[i].ADC_Handler) != HAL_OK)
{
- LOG_E("ADC%d init failed", i + 1);
+ LOG_E("%s init failed", name_buf);
result = -RT_ERROR;
}
else
{
- rt_sprintf(name_buf, "adc%d", i + 1);
/* register ADC device */
if (rt_hw_adc_register(&stm32_adc_obj[i].stm32_adc_device, name_buf, &stm_adc_ops, &stm32_adc_obj[i].ADC_Handler) == RT_EOK)
{
- LOG_D("ADC%d init success", i + 1);
+ LOG_D("%s init success", name_buf);
}
else
{
- LOG_E("ADC%d register failed", i + 1);
+ LOG_E("%s register failed", name_buf);
result = -RT_ERROR;
}
}