你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8-SO8-DISCO之第二个工程外部中断

[复制链接]
zhdzhd 发布时间:2019-2-1 20:48
本帖最后由 zhdzhd-174422 于 2019-2-25 10:23 编辑 7 i3 k1 I* P9 d7 W3 A

/ p2 ]9 z/ `! C( z+ \STM8-SO8-DISCO开发板上配置了一个用户按键和一个用户LED,相对配置外部中断,代码相对简单精练,不需要花太多的时间去研究那么函数和代码。
' I7 |1 H. O3 S! ~8 F" z( W
0 A( i" d7 h6 C6 I  o ss.PNG
& b1 X5 a+ j+ {8 g. q5 q8 H* ?+ }; V. Z! r+ W0 c% s, l
我们用上篇建立的工程模板来继续完成这个工程:1、进到en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template目录下,全选文件复制;在en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\下创建GPIO文件夹,把复制的文件粘贴到GPIO文件下,保存上次创建的工程。2 ^' p( w) Z5 U
捕获.PNG
, t& `. J1 [0 X! T* v 捕获1.PNG
8 |5 H- f0 q. |1 Y 捕获2.PNG
* g, E# r0 {$ \2、首先从en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\EXTI\EXTI_InterruptPriority复制全部的文件到en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template下,覆盖原来的全部文件。; G* ]/ `8 x8 j( f' w  D
9 E+ s2 |+ u% d* z0 f
3、进入en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template\EWSTM8目录下双击Project.eww,在IAR中打开工程文件,在工程上右键点击,选择Clean,清除上次的编译记录。$ ]" X  t9 g' J. u; J2 n
clean.png # W0 ~$ `0 ?; ^; j7 n3 O  u5 d

3 z5 @( K; y# |6 z0 r" e7 |) e3、打开main.h文件,修改GPIO端口配置,从官方的原理图上可得知,PA3引脚控制LED,PC3引脚连接按键,故做如下修改:# _, }% t1 L0 M: Z! y. h. {
mainh.PNG
+ j0 [' h: b4 l" T3 q! n  x3 F! U9 |. ^8 C' z3 L: K
4、打开main.c文件,修改LED输出以及按键中断配置,PC3按键设置成浮空输入,利用下降沿中断。
8 _& F) g4 o% ^7 l4 [2 T# [ main.PNG
3 `/ u$ U& \6 d7 y
) |6 P  I7 f8 ^3 c( G/ s+ F& w. g  C5、打开stm82_it.c文件,添加延时函数用于按键防抖;并在PORTC中断处理函数下增加按键和转灯的配置代码:
2 i3 j" f& m0 g5 J0 O 捕获3.PNG
5 E6 I1 H* g3 C' @, w* u, ~/ D$ [# b: ]
捕获4.PNG
7 U3 J$ f0 o. P4 F3 P! W3 x4 f1 L, h1 i
6、编译成功,下载运行。& M/ f' O/ q8 T3 ~( R9 J: n
OK.PNG , B: `* b: f9 }7 T, T

/ v$ f7 g2 {5 _+ R: f- e7、运行效果:$ y8 x( d  o# L, ]1 T
VID_20190201_204210 00_00_00-00_00_05.gif
9 ?0 K2 B3 U) S3 T# b: _; F8 l* F) d- S8 m& u- K5 H3 H
收藏 评论0 发布时间:2019-2-1 20:48

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版