野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20478|回复: 2

问一个用uV4的软件Simulator Debug的问题

[复制链接]
发表于 2015-3-5 05:27:06 | 显示全部楼层 |阅读模式
今天我在学习Timer这一节,我也照着书上写的想用Simulator来看一看波形。但是当我打开软件上的示波器后,按照书中的方法加入想观察的信号名的时候,软件提示我未定义的信号名,有谁可以告诉我这是怎么回事?怎么解决,谢谢
回复

使用道具 举报

 楼主| 发表于 2015-3-5 05:49:34 | 显示全部楼层
解决了,是我自己选择目标芯片的时候选错了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-5 05:53:31 | 显示全部楼层
另一个问题,我将Fire的程序改了改,将TIM3改到了TIM5,从手册上看4个Channel应该是PA0~PA3,我的程序如下:
void TIM5_GPIO_Config(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
}

void TIM5_PWM_Config(void)
{
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStrcuture;
        TIM_OCInitTypeDef TIM_ODInitStructure;

        uint16_t CCR1_Val = 500;
        uint16_t CCR2_Val = 400;
        uint16_t CCR3_Val = 200;
        uint16_t CCR4_Val = 100;
       
        TIM_TimeBaseStrcuture.TIM_Period = 999;
        TIM_TimeBaseStrcuture.TIM_Prescaler = 0;
        TIM_TimeBaseStrcuture.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseStrcuture.TIM_ClockDivision = TIM_CKD_DIV1;
        TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStrcuture);

        TIM_ODInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
        TIM_ODInitStructure.TIM_OutputState = TIM_OutputState_Enable;
        TIM_ODInitStructure.TIM_Pulse = CCR1_Val;
        TIM_ODInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
        TIM_OC1Init(TIM5, &TIM_ODInitStructure);
        TIM_OC1PreloadConfig(TIM5, TIM_OCPreload_Enable);

        TIM_ODInitStructure.TIM_OutputState = TIM_OutputState_Enable;
        TIM_ODInitStructure.TIM_Pulse = CCR2_Val;
        TIM_OC2Init(TIM5, &TIM_ODInitStructure);
        TIM_OC2PreloadConfig(TIM5, TIM_OCPreload_Enable);

        TIM_ODInitStructure.TIM_OutputState = TIM_OutputState_Enable;
        TIM_ODInitStructure.TIM_Pulse = CCR3_Val;
        TIM_OC3Init(TIM5, &TIM_ODInitStructure);
        TIM_OC3PreloadConfig(TIM5, TIM_OCPreload_Enable);

        TIM_ODInitStructure.TIM_OutputState = TIM_OutputState_Enable;
        TIM_ODInitStructure.TIM_Pulse = CCR4_Val;
        TIM_OC4Init(TIM5, &TIM_ODInitStructure);
        TIM_OC4PreloadConfig(TIM5, TIM_OCPreload_Enable);

        TIM_ARRPreloadConfig(TIM5, ENABLE);
        TIM_Cmd(TIM5, ENABLE);
}

现在的实验现象是从软件的Simulator上看到的4个信号是4条直线,没有电平的变化。请问我的程序中有什么问题吗?谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-7 00:58 , Processed in 0.035082 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表