打印
[其他ST产品]

proteus仿真stm32ADC,虚拟终端不显示,或为0,或卡住

[复制链接]
1748|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

问题:

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





使用特权

评论回复
沙发
斧王FUWANG|  楼主 | 2023-7-31 14:44 | 只看该作者
int main(void)
{
        HSI_SetSysClock(RCC_PLLMul_9);
        usart1_config();
        adc1_config();
        delay_ms(200);
        Usart_SendString(USART1, "usart_config\r\n");
       
        while(1)
        {
                adc1_convert_value = adc1_value*100/4096;
                adc1_convert_value_float = 1;
                printf("\r\n adc1_value = %u  \r\n",adc1_value);
                printf("\r\n adc1_convert_value = %u  \r\n",adc1_convert_value);
                printf("\r\n adc1_convert_value_float = %f  \r\n",adc1_convert_value_float);
                delay_ms(500);
        }
       
}

使用特权

评论回复
板凳
斧王FUWANG|  楼主 | 2023-7-31 14:45 | 只看该作者
后来经过多方面测试,发现是proteus不能使用printf发送浮点型数据,一旦发送就会卡死,而使用printf发送其他类型的数据则会成功

还有一个原因
//        // 初始化ADC 校准寄存器  
//        ADC_ResetCalibration(ADC1);
//        // 等待校准寄存器初始化完成
//        while(ADC_GetResetCalibrationStatus(ADC1));

使用特权

评论回复
地板
斧王FUWANG|  楼主 | 2023-7-31 14:45 | 只看该作者
在进行这一段代码时,也会卡住,所以将其注释。

使用特权

评论回复
5
beacherblack| | 2023-8-7 07:29 | 只看该作者
虚拟终端设置不正确或者仿真环境出现问题导致的

使用特权

评论回复
6
sdlls| | 2023-8-7 21:17 | 只看该作者
检查STM32 ADC模块的配置是否正确

使用特权

评论回复
7
Mowergy| | 2023-10-22 10:56 | 只看该作者
是不是STM32 ADC模块的配置有问题

使用特权

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

本版积分规则

34

主题

260

帖子

0

粉丝