午夜粪车 发表于 2023-2-1 20:28

一仿真就出现提示:swim error [30004]:comm timeout

STM8S903K3芯片,可以用STVP烧写程序,但一仿真就出现提示:swim error :comm timeout ,

supernan 发表于 2023-2-1 20:32

换个板子

午夜粪车 发表于 2023-2-1 20:34

换了个板子也是一样的问题,5V电源没有问题,使用的是16MHZ 外部晶振, 复位电路用的是 5V接4.7K电阻接104电容到地

chenjunt 发表于 2023-2-1 20:36

连接不正常

午夜粪车 发表于 2023-2-1 20:38

程序在运行过程中,会出现始终在中断中运行,运行不到主程序,中断标志TIM5->SR1 &= 0xFE;进来就清零了,

juventus9554 发表于 2023-2-1 20:40

一般硬件原因:比如板子不稳定(电源),线太长;

xxrs 发表于 2023-2-1 20:42


当然软件设置不正确也有可能;楼主好好查查;

午夜粪车 发表于 2023-2-1 20:44

我在补充一下,连接是正常的,就是仿真时,连续运行一会就会停下来,出现提示:swim error :comm timeout

yszong 发表于 2023-2-1 20:45

我也碰过,后来不吹电风扇,就OK了-

chuxh 发表于 2023-2-1 21:04

关于STVP烧写程序问题,你是怎么能烧写的?我用STVD可以仿真,烧写程序,但在STVP则用ST-LINK烧写后,提示烧写成功,但实测效果不对或者没反应

dingy 发表于 2023-2-1 21:06

应该中断里采用用TIM5_SR1=0X00;(清除更新标志UIF).我的初始化是
void TIM5_Init()
{
      TIM5_IER = 0x00;      //禁止中断
   TIM5_EGR = 0x01;   //允许产生更新事件         
   TIM5_PSCR=0X07;   //分频系数是128
       TIM5_ARRH =0x03;    //定时时间数值
   TIM5_ARRL =0xD0;
       TIM5_CNTRH=0X01;
       TIM5_CNTRL=0XE8;               
       TIM5_IER=0X01;      //开定时器中断
}
另外,不知你的中断号搞对否.

午夜粪车 发表于 2023-2-1 21:08

我的第一个问题可能是供电电源问题,:具体情况如下:
   我的系统电路时用AC220供电,整流后经BUCK电路后得到12V,再经7805给单片机供电,整个系统和交流电供地,仿真时,程序可以通过STVD运行,但是对系统的按键电路进行操作时,就会出现swim error :comm timeout ;
   而后我将系统电路改成和交流电源隔离过的直流电源供电,仿真时,对系统的按键电路进行操作时一切正常;现在分析可能是系统和交流电源供地时是不是仿真电路有影响,不知道大家有没有用过和我一样的供电方式;
2:第二问题,我开始怀疑是不是晶振导致的,后将系统由外部晶振改为内部晶振,程序运行后,就没有出现过类似问题,但很奇怪,当我再改成外部晶振后,这个问题也不能复现,所以,现在也不能确定是外部晶振的问题;问题仍在找,希望大家给点提示。

spark周 发表于 2023-2-1 21:10

可能我买的仿真器受环镜影响大吧,反正我开电风扇的话,就会出现wim error :comm timeout ;外部晶振我用过。没问题

juventus9554 发表于 2023-2-1 21:12

我发我的初始化给你看一下:
               GPIO_Init();                   //GPIO断口初始?
               //CLK_CKDIVR= 0X00;            //内部16MHZ不分频
               //判断当前时钟,如果不是外部晶振(HSE)的话,则切换为HSE
               if(CLK_CMSR != 0XB4)
               {
                           CLK_SWCR |= 0X02;          //SWEN置1,使能切换
                           CLK_SWR=0XB4;            //目标时钟源--0XB4指HSE
                           while((CLK_SWCR&0X08)==0); //等待,直到切换成功,SWIF被置1
                           CLK_SWCR = 0;            //消除标志位
                           CLK_CSSR |= 0X01;          //打开时钟安全系统CSS
               }
               TIM4_Init();                   //TIM4定时器初始化
               TIM2_Init();                   //TIM2定时器初始化
               ADC_Init();                  //AD初始化
               PWM_INIT();                  //PWM初时化
               CFG_GCR =0X01;               //SWIM模式被禁用,SWIM引脚被用作普通I/O口。
               TIM4_CR1|=0X01;                //启动定时器4
               TIM2_CR1|=0X01;                //启动定时器2
               ITC_SPR6|=0XC0;                //定时器TIM4的优先级为3级
               _asm("rim");                   //允许MCU全局中断

supernan 发表于 2023-2-1 21:14

这是我用STM8S003F3P6(SOP20)的调交流可控规。我现一般不用外部晶振的,因为有时摸一下电路板,死机了。内内晶振的话,则OK

zhuhuis 发表于 2023-2-1 21:17

你是不是打开看门狗?我也用到看门狗,正常啊.
               IWDG_KR=0XCC;               //启动硬件看门狗定时器(IDWG)
               IWDG_KR=0X55;               //解除IWDG_PR,IDWG_RLR寄存器写保护功能
               IWDG_RLR=0XFF;            //写入新的重装初值(看门狗时间=510ms)
               IWDG_PR=0X5;                //选择新的分频系数=5
               IWDG_KR=0XAA;               //恢复写保护功能
               while (1)
               {
                         if(t_us >= 40)                     //10ms
                         {
                                 t_us = 0;
                                 IWDG_KR=0XAA;   //喂看门狗
                                 key_scan();       //按键扫描
                                 display_man();    //显示管理
                                 display();      //显示驱动
                                 key_deal();       //按键处理
                                 time_man();         //时间管理
                                 buz_man();      //蜂鸣器管理
                                 PWM_OUTPUT();   //PWM输出控制
                        }               
               }

午夜粪车 发表于 2023-2-1 21:38

刚刚做了一些实验,系统改用直流电源供电,仿真和程序都一切正常

zhenykun 发表于 2023-2-1 21:40

改成内部晶振和外部晶振都能正常工作?

午夜粪车 发表于 2023-2-3 20:36

嗯,但是系统一但改回交流AC220供电,CPU的5V电源一但和电网的零线供电就出现了以上2个问题, 不能仿真,程序工作也出错,

pengf 发表于 2023-2-3 20:37

不知道,有没有人使用过交流降压不隔离的5V电源供电系统
页: [1] 2
查看完整版本: 一仿真就出现提示:swim error [30004]:comm timeout