TI中文支持网
TI专业的中文技术问题搜集分享网站

am335x 如何在按下tps65217的pb_in后,使用tps65217产出的INT信号去唤醒am335x或让am335x进sleep状态

现在用bbb的板子,tps65217的int信号接在am335x的nmi脚上,请问如何在tps65217产生int中断信号后去唤醒mcu或者让mcu进休眠状态。

Jian Zhou:

MPU的休眠和唤醒是专门有一套机制处理的,休眠一般是发指令实现,唤醒一般是靠一些唤醒源触发。

kevin.yang:

回复 Jian Zhou:

那如果用tps65217产生的INT中断信号,信号输入给nmi脚,是否可以实现这个休眠和唤醒呢?如果可以,应该如何实现呢?谢谢。

Jian Zhou:

回复 kevin.yang:

我觉得是可以的,INT可以给CPU一个中断信号,然后中断服务执行CPU的睡眠指令,同时这个中断引脚也可以配置为唤醒源。

kevin.yang:

回复 Jian Zhou:

hi, Jian Zhou,

请问一下这个nmi的中断号是多少,我看datasheet上写是7,但是我用7来注册irq时,会注册不成功,谢谢。贴上代码:

irq = 7;    

 ret = request_irq(irq,   nnmi_irq_handler,IRQF_TRIGGER_FALLING | IRQF_SHARED,      "nnmi_irq",      tps); 

  if (ret < 0){   

printk("nnmi request irq err\n");

  }

如果用irq = gpio_to_irq(7); 就可以注册成功,但是按下按键的时候,不能进中断,麻烦你帮忙分析一下,谢谢。

Jie Li24:

回复 kevin.yang:

请问你的问题解决了吗?我也是想用中断号7来申请中断,但中断总是申请不成功,讨论讨论,是不是要用内核里面的NMI机制的函数去试验?你的解决了没?

yi ren1:

你好

你们有用命令让板子挂起么echo mem > /sys/power/state

官方手册的。

我这个板子不好用。

赞(0)
未经允许不得转载:TI中文支持网 » am335x 如何在按下tps65217的pb_in后,使用tps65217产出的INT信号去唤醒am335x或让am335x进sleep状态
分享到: 更多 (0)