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

【STM8-SO8-DISCO】+ (2)EXIT中断中做按键去点灯

[复制链接]
damiaa 发布时间:2019-1-22 15:54
本帖最后由 damiaa 于 2019-1-23 15:43 编辑

                                          【STM8-SO8-DISCO】+(2) EXIT做按键点灯

目的:为了验证STM8S001的IO EXTI功能,做个实验就是按下键改变灯的状态。
1,在上个项目【STM8-SO8-DISCO】+ 基本定时器四中点灯的基础上改写

2,根据原理图和资料定义按键
  1. #define USER_BUTTON_GPIO_PORT  (GPIOC)
  2. #define USER_BUTTON_GPIO_PINS (GPIO_PIN_3) //这里可以设置为PC3,PC4,PC5中任何一个。
复制代码
3,定义一个EXIT的初始化函数:
  1. void Exit_Init()
  2. {
  3.   GPIO_Init(USER_BUTTON_GPIO_PORT, (USER_BUTTON_GPIO_PINS),GPIO_MODE_IN_FL_IT);//GPIO初始化
  4. /* Initialize the Interrupt sensitivity */
  5.   EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOC, EXTI_SENSITIVITY_FALL_ONLY);//EXIT 外部中断触发设置下降沿触发
  6.   //EXTI_SetTLISensitivity(EXTI_TLISENSITIVITY_FALL_ONLY); stm8s001 没有最高外部中断IO PD7
  7.   enableInterrupts();
  8. }  
复制代码

4,中断里找到下面函数加入LED1_Toggle();
  1. INTERRUPT_HANDLER(EXTI_PORTC_IRQHandler, 5)
  2. {
  3.   /* In order to detect unexpected events during development,
  4.      it is recommended to set a breakpoint on the following instruction.
  5.   */
  6.     LED1_Toggle();
  7. }
复制代码
5,注销到原来TIM4中断中的内容(避免效果不好)。
  1. INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)
  2. {
  3.   /* In order to detect unexpected events during development,
  4.      it is recommended to set a breakpoint on the following instruction.
  5.   */
  6. // static uint16_t tims=0;
  7. // tims++;
  8. // if(tims >5000)
  9. // {
  10. //   tims =0;
  11. //   LED1_Toggle();
  12. // }
  13. }
复制代码

QQ图片20190122155339.png

6,编译调试试验。
微信图片_20190122155459.jpg
微信图片_20190122155503.jpg
7,代码
stm8s001test.zip (4.37 MB, 下载次数: 6)
收藏 1 评论0 发布时间:2019-1-22 15:54

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版