[其他ST产品] proteus仿真stm32ADC,虚拟终端不显示,或为0,或卡住

[复制链接]
 楼主| 斧王FUWANG 发表于 2023-7-31 14:44 | 显示全部楼层 |阅读模式

问题:

在进行stm32仿真ADC时,虚拟终端不显示,或为0,或者卡住


6315264c7583d6e18d.png




 楼主| 斧王FUWANG 发表于 2023-7-31 14:44 | 显示全部楼层
  1. int main(void)
  2. {
  3.         HSI_SetSysClock(RCC_PLLMul_9);
  4.         usart1_config();
  5.         adc1_config();
  6.         delay_ms(200);
  7.         Usart_SendString(USART1, "usart_config\r\n");
  8.        
  9.         while(1)
  10.         {
  11.                 adc1_convert_value = adc1_value*100/4096;
  12.                 adc1_convert_value_float = 1;
  13.                 printf("\r\n adc1_value = %u  \r\n",adc1_value);
  14.                 printf("\r\n adc1_convert_value = %u  \r\n",adc1_convert_value);
  15.                 printf("\r\n adc1_convert_value_float = %f  \r\n",adc1_convert_value_float);
  16.                 delay_ms(500);
  17.         }
  18.        
  19. }
 楼主| 斧王FUWANG 发表于 2023-7-31 14:45 | 显示全部楼层
后来经过多方面测试,发现是proteus不能使用printf发送浮点型数据,一旦发送就会卡死,而使用printf发送其他类型的数据则会成功

还有一个原因
  1. //        // 初始化ADC 校准寄存器  
  2. //        ADC_ResetCalibration(ADC1);
  3. //        // 等待校准寄存器初始化完成
  4. //        while(ADC_GetResetCalibrationStatus(ADC1));
 楼主| 斧王FUWANG 发表于 2023-7-31 14:45 | 显示全部楼层
在进行这一段代码时,也会卡住,所以将其注释。
beacherblack 发表于 2023-8-7 07:29 | 显示全部楼层
虚拟终端设置不正确或者仿真环境出现问题导致的
sdlls 发表于 2023-8-7 21:17 | 显示全部楼层
检查STM32 ADC模块的配置是否正确
Mowergy 发表于 2023-10-22 10:56 | 显示全部楼层
是不是STM32 ADC模块的配置有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

277

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

39

主题

277

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部