本帖最后由 toofree 于 2019-2-26 01:13 编辑 # ?+ i9 P& u, ]4 S3 g 【STM8-SO8-DISCO】——5、上电延时5S,在配置SWIM 0 z+ S4 D" w& x) [" ^6 ~) dSTM8S001J3芯片没有NRST管脚,如果要将SWIM管脚用作IO或其它功能,那么需要在重配置此管脚之前,延时5秒钟。如果不加延时,直接配置SWIM为普通IO的话,将不能再次通过SWIM管脚下载或调试。 理论上,在上电复位后,在配置SWIM为IO功能前,是可以进入SWIM功能烧写程序的。但是这个时间窗口很短很短,也就是仅仅存在于理论上。( p! q- j7 d) E4 K& ~3 b: E7 K 关于SWIM管脚使用不当,造成MCU锁死的问题,在几个月前就解答过坛友的疑问。6 X" O! W4 H8 H I# B6 I5 K / J9 J( J7 y% w7 q 关于使用SWIM为其它功能,在多个文档上有过提示: $ A6 l# I) v* x( Y 首先是STM8S001J3的数据手册“DS12129”;2 Q" j" Z) U) R0 j4 x$ C( J/ o4 h, S7 L1 Q 4 i% D6 S" R5 W/ N, {, M1 ?9 E9 c 再次是用户参考手册“RM0016”;# @& \$ R$ i" E# O 而在应用笔记“AN5047”中,给出了具体实施方法; " f! y+ \, X8 Q5 J& B+ L2 ?/ i/ a3 A U, H& n) U% M" e9 G+ h6 K O; y* Q. @; w4 {+ ]/ Q 将以上代码,复制到前一贴工程中。* K7 M8 `% s/ z( s: e/ |8 P8 R (【STM8-SO8-DISCO】——4、外部中断 https://www.stmcu.org.cn/module/f ... 9437&fromuid=307297 ) . V7 P3 q8 t! }, V: J; k/ `/ ^1 c& K. z 编译,下载程序,并全速运行。 实验现象为,运行5秒后,LD1点亮;此后每按一次用户按键B1,LD1的状态翻转一次。如果在跑程序的最初5秒内,按用户按键B1,LD1的状态是不会有任何变化的。5 ~/ ^7 M0 ^$ v ) E5 Z+ h, Z* w8 H 关于SWIM用作其它功能,其它SO8封装的STM8也会有类似问题。比如STM8-SO8-DISCO板上的另外两种STM8,STM8L001J3和STM8L050J3。 8 J* @) {! i* J4 y, k5 |) V( j' p 4 Y# M, ]3 C& Y: E 本贴用到的文档及测试工程附上: |