打印
[STM32WBA]

【STM32WBA52CG测评】ADC采集

[复制链接]
239|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
BinWin|  楼主 | 2023-8-2 21:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
      板卡的ADC采集是作为计划的一部分,不过只是测试Demo,以下仅为使用过程分享。
      使用CubeMX工具创建新的工程,时钟等配置保持不变。
      
    选择ADC4的通道8,其他参数默认。然后生成代码。例程的Uart_Pirintf中拷贝出重定向代码做了多种编译器的兼容,我只用MDK,自己添加。

int fputc(int ch, FILE *f)
{
                HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1,0xFFFF);
     return ch;
}
   然后AC6编译,勾选Use MicroLib即可,但实际上会产生错误。修改方法有点奇怪,但是管用。   
    图片中的两处先注释掉,然后编译一次,还是会报一处错误,不用在意。取消注释,再次编译就没问题了。这里的IF不知道是不是和MDK 的配置产生了冲突。或者没有识别出来。
    然后添加ADC部分的代码。
   
if (HAL_ADC_Start(&hadc4) != HAL_OK)
                  {
                        /* Start Conversation Error */
                        Error_Handler();
                  }
                HAL_ADC_PollForConversion(&hadc4, 10);
                if ((HAL_ADC_GetState(&hadc4) & HAL_ADC_STATE_REG_EOC) == HAL_ADC_STATE_REG_EOC)
{
                          ADC_ValueIN4 = HAL_ADC_GetValue(&hadc4);               
                                printf("adc value = %d, vlot = %.2fmV\r\n",ADC_ValueIN4,ADC_ValueIN4*0.806);
                }
    以上简单的处理后,工程就可以读取到ADC采集的数据了,悬空PA1, 有如下读数
     
     连接PA1到3V3的插针引脚上,可以得到如下读数
     
    基本可用,接下来通过蓝牙传数据。
   





使用特权

评论回复
沙发
gejigeji521| | 2024-1-12 17:04 | 只看该作者
超时等待时间太长了,可以小一点。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

58

帖子

0

粉丝