打印
[技术问答]

M451的GPIO可以设置成脉冲上升沿和下降沿中断吗?

[复制链接]
1138|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
libinskk|  楼主 | 2019-1-7 12:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
M451的GPIO可以设置成脉冲上升沿和下降沿中断吗?如果识别是哪个中断源呢?有例程吗?
沙发
捉虫天师| | 2019-1-7 14:19 | 只看该作者
脉冲还有上升沿和下降沿之分吗、???

使用特权

评论回复
板凳
libinskk|  楼主 | 2019-1-7 19:26 | 只看该作者
有的。

使用特权

评论回复
地板
zhuotuzi| | 2019-1-7 20:54 | 只看该作者
你那不是脉冲了,是高低电平。你设置成双边沿中断就行了。

使用特权

评论回复
5
zhuotuzi| | 2019-1-7 21:22 | 只看该作者
/**
* [url=home.php?mod=space&uid=247401]@brief[/url]       Enable GPIO interrupt
*
* @param[in]   port            GPIO port. It could be PA, PB, PC, PD, PE or PF.
* @param[in]   u32Pin          The pin of specified GPIO port.
*                              It could be 0 ~ 15 for PA, PB, PC and PD GPIO port.
*                              It could be 0 ~ 14 for PE GPIO port.
*                              It could be 0 ~ 7 for PF GPIO port.
* @param[in]   u32IntAttribs   The interrupt attribute of specified GPIO pin. It could be \n
*                              GPIO_INT_RISING, GPIO_INT_FALLING, GPIO_INT_BOTH_EDGE, GPIO_INT_HIGH, GPIO_INT_LOW.
*
* [url=home.php?mod=space&uid=266161]@return[/url]      None
*
* [url=home.php?mod=space&uid=1543424]@Details[/url]     This function is used to enable specified GPIO pin interrupt.
*/
void GPIO_EnableInt(GPIO_T *port, uint32_t u32Pin, uint32_t u32IntAttribs)
{
    port->INTTYPE |= (((u32IntAttribs >> 24) & 0xFFUL) << u32Pin);
    port->INTEN |= ((u32IntAttribs & 0xFFFFFFUL) << u32Pin);
}

使用特权

评论回复
6
zhuotuzi| | 2019-1-7 21:23 | 只看该作者
GPIO_INT_BOTH_EDGE

采用双边沿。

使用特权

评论回复
7
幸福小强| | 2019-1-7 22:04 | 只看该作者
你要测一下,看看够不够几个时钟周期。要让单片机能响应的。

使用特权

评论回复
8
小灵通2018| | 2019-1-7 22:12 | 只看该作者
试试上面的,或者最好示波器观察一下。如果是脉冲,宽度可以忽略的,你上升沿跟下降沿不就是同时了吗

使用特权

评论回复
9
zhuotuzi| | 2019-1-7 22:59 | 只看该作者
双边沿模式嘛

使用特权

评论回复
10
libinskk|  楼主 | 2019-1-8 15:33 | 只看该作者
可以了,可以分别测量高脉冲和低脉冲周期,不过要加消抖,否则抖动很大。

使用特权

评论回复
11
yiyigirl2014| | 2019-1-8 16:03 | 只看该作者
你的脉冲宽度是多少啊,先示波器观察看看有没有必要加防抖的

使用特权

评论回复
12
yiyigirl2014| | 2019-1-8 16:05 | 只看该作者
另外你测脉冲宽度,最好的方式是捕获,不是中断。

使用特权

评论回复
13
yiyigirl2014| | 2019-1-8 16:05 | 只看该作者
你可以使用PWM中断测量脉宽

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

73

帖子

1

粉丝