STVD上程序运行编译都通过了,板子外接了5V电源,并通过ST——LINK与电脑进行了连接。选择DEBUG——start debugging ,程序写入到芯片。奇怪的是想更改下程序重新debugging的时候,系统总是提示“chip does not answer"。以为芯片坏了,更换芯片,重新按上述步骤操作,结果和之前一样,第一次debug通过,然后就总是提示“chip does not answer"。不知道哪位大侠遇到过这样的问题没有,该如何解决?????
可以分2步来检查。
1.检查ST-LINK。可以用ST-Link Upgrade软件来检查PC能否找到 ST-LINK,路径为:ST Toolset->Setup->Upgrade STLink。
2.检查STM8。可以用STVP来查看,Configure STVP,使用ST-LINK作为硬件,Programming mode选择SWIM,然后正确选择STM8的型号。之后让STVP来读STM8,看能否读出来。
芯片是STM8S903K3 什么板子就不好说了,是自己学习软件做的一块测试板,实现按键 显示 AD 蜂鸣器 PWM输出 等功能。
用upgrade 软件进行连接,检测成功;
用STVP软件进行读操作无法成功,提示找不到设备
问题已解决。原因是在在程序里多写了一行代码,设置了SWIM的时钟。
stm8,加入CLK->SWIMCCR = 0x01;一句后swim不可联机,也不可以烧录。解决办法:
(1)外部供电,打开stvp,烧录,此时不可烧录。
(2)拔掉电源,放完电。再上电。打开stvp,选择target一遍,按住复位键(拉低),同时点烧录按钮, 两次不成功,再试第三次,此次复位键比烧录按钮提前一点点松开,就可以了。
以上问题点新学ST芯片的大侠们可以注意下,以免象我这样走弯路。