[技术问答] M451的GPIO可以设置成脉冲上升沿和下降沿中断吗?

[复制链接]
549|12
 楼主 | 2019-1-7 12:55 | 显示全部楼层 |阅读模式
M451的GPIO可以设置成脉冲上升沿和下降沿中断吗?如果识别是哪个中断源呢?有例程吗?
| 2019-1-7 14:19 | 显示全部楼层
脉冲还有上升沿和下降沿之分吗、???

使用特权

评论回复
 楼主 | 2019-1-7 19:26 | 显示全部楼层
有的。

使用特权

评论回复
| 2019-1-7 20:54 | 显示全部楼层
你那不是脉冲了,是高低电平。你设置成双边沿中断就行了。

使用特权

评论回复
| 2019-1-7 21:22 | 显示全部楼层
  1. /**
  2. * [url=home.php?mod=space&uid=247401]@brief[/url]       Enable GPIO interrupt
  3. *
  4. * @param[in]   port            GPIO port. It could be PA, PB, PC, PD, PE or PF.
  5. * @param[in]   u32Pin          The pin of specified GPIO port.
  6. *                              It could be 0 ~ 15 for PA, PB, PC and PD GPIO port.
  7. *                              It could be 0 ~ 14 for PE GPIO port.
  8. *                              It could be 0 ~ 7 for PF GPIO port.
  9. * @param[in]   u32IntAttribs   The interrupt attribute of specified GPIO pin. It could be \n
  10. *                              GPIO_INT_RISING, GPIO_INT_FALLING, GPIO_INT_BOTH_EDGE, GPIO_INT_HIGH, GPIO_INT_LOW.
  11. *
  12. * [url=home.php?mod=space&uid=266161]@return[/url]      None
  13. *
  14. * [url=home.php?mod=space&uid=1543424]@Details[/url]     This function is used to enable specified GPIO pin interrupt.
  15. */
  16. void GPIO_EnableInt(GPIO_T *port, uint32_t u32Pin, uint32_t u32IntAttribs)
  17. {
  18.     port->INTTYPE |= (((u32IntAttribs >> 24) & 0xFFUL) << u32Pin);
  19.     port->INTEN |= ((u32IntAttribs & 0xFFFFFFUL) << u32Pin);
  20. }
复制代码

使用特权

评论回复
| 2019-1-7 21:23 | 显示全部楼层
GPIO_INT_BOTH_EDGE

采用双边沿。

使用特权

评论回复
| 2019-1-7 22:04 | 显示全部楼层
你要测一下,看看够不够几个时钟周期。要让单片机能响应的。

使用特权

评论回复
| 2019-1-7 22:12 | 显示全部楼层
试试上面的,或者最好示波器观察一下。如果是脉冲,宽度可以忽略的,你上升沿跟下降沿不就是同时了吗

使用特权

评论回复
| 2019-1-7 22:59 | 显示全部楼层
双边沿模式嘛

使用特权

评论回复
 楼主 | 2019-1-8 15:33 | 显示全部楼层
可以了,可以分别测量高脉冲和低脉冲周期,不过要加消抖,否则抖动很大。

使用特权

评论回复
| 2019-1-8 16:03 | 显示全部楼层
你的脉冲宽度是多少啊,先示波器观察看看有没有必要加防抖的

使用特权

评论回复
| 2019-1-8 16:05 | 显示全部楼层
另外你测脉冲宽度,最好的方式是捕获,不是中断。

使用特权

评论回复
| 2019-1-8 16:05 | 显示全部楼层
你可以使用PWM中断测量脉宽

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表