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

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

[复制链接]
zhdzhd 发布时间:2019-2-1 20:48
本帖最后由 zhdzhd-174422 于 2019-2-25 10:23 编辑
1 g( x, {) J6 `- X: |! d
/ ?% C! [8 l! V2 [) D1 D- JSTM8-SO8-DISCO开发板上配置了一个用户按键和一个用户LED,相对配置外部中断,代码相对简单精练,不需要花太多的时间去研究那么函数和代码。
/ p# d' [8 G9 ?) O8 B- q/ H* z6 K+ j" _8 |5 b: ^9 o/ a
ss.PNG
! q" J9 }  {, m+ d: z8 Q6 D4 D
- z+ Y$ y" F0 H1 M我们用上篇建立的工程模板来继续完成这个工程:1、进到en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template目录下,全选文件复制;在en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\下创建GPIO文件夹,把复制的文件粘贴到GPIO文件下,保存上次创建的工程。' H9 M* I5 `9 h! I: ?) W
捕获.PNG
2 d5 X4 q9 t' v$ d; h+ k+ m5 p% h 捕获1.PNG : a8 c% f" q8 N0 x0 ?5 i3 i
捕获2.PNG
* B4 ?9 l% A# q2 Z2、首先从en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\EXTI\EXTI_InterruptPriority复制全部的文件到en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template下,覆盖原来的全部文件。
) v5 ]2 g; b; h/ O9 }  l2 P' k7 x2 k' S
3、进入en.stsw-stm8S069\STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template\EWSTM8目录下双击Project.eww,在IAR中打开工程文件,在工程上右键点击,选择Clean,清除上次的编译记录。
/ K4 F+ ^- B  @& r  a5 r2 Z2 t clean.png
( L% t- ^1 b& i0 X" q
- y/ |/ y5 e  t: y6 f2 ^4 l& @2 Q3、打开main.h文件,修改GPIO端口配置,从官方的原理图上可得知,PA3引脚控制LED,PC3引脚连接按键,故做如下修改:5 N* R/ T- ?* v& _
mainh.PNG 2 Q3 S2 W! ^4 A' |" i9 S
7 S# p1 w+ N) i& v+ T$ j
4、打开main.c文件,修改LED输出以及按键中断配置,PC3按键设置成浮空输入,利用下降沿中断。
0 ^' {0 J$ z& G main.PNG - r4 E7 g$ U7 ?+ ?( J( g

' S$ M. M1 `$ k8 d5、打开stm82_it.c文件,添加延时函数用于按键防抖;并在PORTC中断处理函数下增加按键和转灯的配置代码:
; I' U  Q! @8 x6 Z 捕获3.PNG , W4 G. q& U2 Q, [: p! {, a

- k7 _  [( N1 N( P6 a* [3 K/ A, k 捕获4.PNG
- \' ^0 F/ Y" F' p' l9 S7 I6 V" B" c
6、编译成功,下载运行。
, m7 d( H- G* L1 C: y* e7 X OK.PNG
5 T& x3 R5 S! _# x  n( I+ q  x9 Z* H1 T% U5 a( e  x' x8 r
7、运行效果:
9 n, q: \* F' T' Q% G/ v VID_20190201_204210 00_00_00-00_00_05.gif
: R! V9 N/ B: r  \$ }! p
0 W+ i, V" I. r7 V0 a4 r4 M+ v$ `* s
收藏 评论0 发布时间:2019-2-1 20:48

举报

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