|
本帖最后由 toofree 于 2019-2-26 01:13 编辑 " `' C. t+ p# g. B , X. b$ k0 Q: d H! U 【STM8-SO8-DISCO】——5、上电延时5S,在配置SWIM 2 D$ V4 R7 p" f4 e* rSTM8S001J3芯片没有NRST管脚,如果要将SWIM管脚用作IO或其它功能,那么需要在重配置此管脚之前,延时5秒钟。如果不加延时,直接配置SWIM为普通IO的话,将不能再次通过SWIM管脚下载或调试。$ F& ^; K' z) o# i* |7 j 理论上,在上电复位后,在配置SWIM为IO功能前,是可以进入SWIM功能烧写程序的。但是这个时间窗口很短很短,也就是仅仅存在于理论上。 关于SWIM管脚使用不当,造成MCU锁死的问题,在几个月前就解答过坛友的疑问。 + f3 m1 I/ R; v* l9 F 关于使用SWIM为其它功能,在多个文档上有过提示: 首先是STM8S001J3的数据手册“DS12129”;: {* ^; } D4 M( q/ R/ d' P. Z
6 V* M) A: {. Y* |* m( ~ F6 C 再次是用户参考手册“RM0016”;: M5 v8 q7 i# [' n1 M
# S* V; a. b/ |* r% C& u% r ( ^; Y! T; W, U. _ 而在应用笔记“AN5047”中,给出了具体实施方法;
3 B2 B. R& x6 y1 r) k
; k- | _% C) W3 t% h8 g 将以上代码,复制到前一贴工程中。0 o" s) h, [0 i0 Q (【STM8-SO8-DISCO】——4、外部中断0 b7 A2 ?, \! U1 s9 L6 b0 M https://www.stmcu.org.cn/module/f ... 9437&fromuid=307297 )
编译,下载程序,并全速运行。 实验现象为,运行5秒后,LD1点亮;此后每按一次用户按键B1,LD1的状态翻转一次。如果在跑程序的最初5秒内,按用户按键B1,LD1的状态是不会有任何变化的。 关于SWIM用作其它功能,其它SO8封装的STM8也会有类似问题。比如STM8-SO8-DISCO板上的另外两种STM8,STM8L001J3和STM8L050J3。
( n& U9 ~* B$ Z u! _ 5 [! L. f8 Q& y$ F 本贴用到的文档及测试工程附上:; S" }) a- V4 w
DS12129.pdf
(1.56 MB, 下载次数: 6)
|
STM8自学笔记(推荐STM8很好的入门电子书)
无刷直流电机控制应用+基于STM8S系列单片机---电子书
【精华资料】STM8Sxx固件库FOR IAR
基于STM8的DALI (数字可寻址调光协议)
分享STM8 风驰光盘的资料,是完整的(包括原理图+例程+PDF注释)
《无刷直流电机控制应用 基于STM8S系列单片机》
STM8S库函数中文参考 小软件
【资料分享】STM8L的智能手持血糖监测设备的源码
基于STM8S207工程模板
【培训资料】STM8系列PPT培训资料
微信公众号
手机版