|
cubemx +ia。hal库adc采样温度传感器的值, 1 通道采集外部电压值,输入最高电压 可得到4096的采集结果 2 通道选择内部温度传感器,室温采集得到约680mv,为电压值。 实际项目要求采集到的温度值对绝对温度没有要求,仅需要一个分辨率较高、线性度较好的的数字量即可(0~4096)。之前用MSP430是得到的数字量。不知道HAL库是不是封装的太彻底了。请知道的朋友告知。如何实现。十分感激 ![]() ![]() |
微信公众号
手机版
生成IAR代码,下面是代码;实际adc_v 的值,断点查看为670~680。
/* USER CODE BEGIN 0 */
unsigned int adc_v;
double adcx;
double temp;
/* USER CODE END 0 */
int main(void)
{
HAL_Init();
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART2_UART_Init();
MX_ADC_Init();
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_ADC_Start(&hadc);
adc_v = HAL_ADC_GetValue(&hadc);
}
补充AD断点采样截图
/* USER CODE BEGIN 0 */
unsigned int adc_v;
double adcx;
double temp;
/* USER CODE END 0 */
int main(void)
{
HAL_Init();
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART2_UART_Init();
MX_ADC_Init();
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_ADC_Start(&hadc);
adc_v = HAL_ADC_GetValue(&hadc);
}
/* USER CODE END 3 */
}
注:同样的程序,将ADC采样通道配置为通道IN0,外部输入较高电压时 可以得到4096这个数字量。
评分
查看全部评分