i.MX28: GPIO Interrupt on Both Rising and Falling Edges

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX28: GPIO Interrupt on Both Rising and Falling Edges

i.MX28: GPIO Interrupt on Both Rising and Falling Edges

i.MX28 GPIO pins only support the following IRQ types: IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, IRQ_TYPE_LEVEL_HIGH and IRQ_TYPE_LEVEL_LOW. IRQ_TYPE_EDGE_BOTH is not supported.

It application requires interrupt on both rising and falling edges, software can set the IRQ type to level trigger and set the polarity in reverse to the current GPIO input level. Below is the example.

value = gpio_get_value(pdata->id_gpio) ? 1 : 0;

if (value)

    set_irq_type(gpio_to_irq(pdata->id_gpio), IRQ_TYPE_LEVEL_LOW); else

    set_irq_type(gpio_to_irq(pdata->id_gpio), IRQ_TYPE_LEVEL_HIGH); ...

When GPIO input value is low, set the IRQ type to IRQ_TYPE_LEVEL_HIGH. When the GPIO input value is high, set the IRQ type to IRQ_TYPE_LEVEL_LOW. Do the same checking in the GPIO IRQ handler. In this way, interrupts on both edges can be captured.

This document was generated from the following discussion: i.MX28: GPIO interrupt on both rising and falling edges

ラベル(1)
%3CLINGO-SUB%20id%3D%22lingo-sub-1100446%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.MX28%3A%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%8C%E3%82%8A%E3%82%A8%E3%83%83%E3%82%B8%E3%81%A8%E7%AB%8B%E3%81%A1%E4%B8%8B%E3%81%8C%E3%82%8A%E3%82%A8%E3%83%83%E3%82%B8%E3%81%AE%E4%B8%A1%E6%96%B9%E3%81%A7GPIO%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1100446%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3Ei.MX28%20GPIO%E3%83%94%E3%83%B3%E3%81%AF%E3%80%81IRQ_TYPE_EDGE_RISING%E3%80%81IRQ_TYPE_EDGE_FALLING%E3%80%81IRQ_TYPE_LEVEL_HIGH%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3IRQ_TYPE_LEVEL_LOW%E3%81%AEIRQ%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AE%E3%81%BF%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%97%E3%81%BE%E3%81%99%E3%80%82IRQ_TYPE_EDGE_BOTH%E3%81%AF%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%AF%E3%80%81%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%8C%E3%82%8A%E3%82%A8%E3%83%83%E3%82%B8%E3%81%A8%E7%AB%8B%E3%81%A1%E4%B8%8B%E3%81%8C%E3%82%8A%E3%82%A8%E3%83%83%E3%82%B8%E3%81%AE%E4%B8%A1%E6%96%B9%E3%81%A7%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AFIRQ%E3%82%BF%E3%82%A4%E3%83%97%E3%82%92%E3%83%AC%E3%83%99%E3%83%AB%E3%83%88%E3%83%AA%E3%82%AC%E3%83%BC%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%80%81%E7%8F%BE%E5%9C%A8%E3%81%AEGPIO%E5%85%A5%E5%8A%9B%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AB%E9%80%86%E3%81%AE%E6%A5%B5%E6%80%A7%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E4%BB%A5%E4%B8%8B%E3%81%AF%E3%81%9D%E3%81%AE%E4%BE%8B%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20courier%20new%2Ccourier%3B%22%3Evalue%20%3D%20gpio_get_value(pdata-%26gt%3Bid_gpio)%20%3F%201%20%3A%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20courier%20new%2Ccourier%3B%22%3Eif%20(%E5%80%A4)%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20courier%20new%2Ccourier%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20set_irq_type(gpio_to_irq(pdata-%26gt%3Bid_gpio)%2C%20IRQ_TYPE_LEVEL_LOW)%3B%20else%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20courier%20new%2Ccourier%3B%22%3Eset_irq_type(gpio_to_irq(PDATA-%26gt%3Bid_gpio)%2C%20IRQ_TYPE_LEVEL_HIGH)%3B...%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EGPIO%E5%85%A5%E5%8A%9B%E5%80%A4%E3%81%8C%E4%BD%8E%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81IRQ%E3%82%BF%E3%82%A4%E3%83%97%E3%82%92IRQ_TYPE_LEVEL_HIGH%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82GPIO%E5%85%A5%E5%8A%9B%E5%80%A4%E3%81%8C%E9%AB%98%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81IRQ%E3%82%BF%E3%82%A4%E3%83%97%E3%82%92IRQ_TYPE_LEVEL_LOW%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82GPIO%20IRQ%20%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%E3%81%A7%E3%82%82%E5%90%8C%E3%81%98%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%82%92%E8%A1%8C%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%81%A6%E3%80%81%E4%B8%A1%E6%96%B9%E3%81%AE%E3%82%A8%E3%83%83%E3%82%B8%E3%81%AE%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%82%92%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AF%E3%80%81%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fthread%2F305074%22%20target%3D%22_blank%22%3Ei.MX28%3A%20%E7%AB%8B%E3%81%A1%E4%B8%8A%E3%81%8C%E3%82%8A%E3%82%A8%E3%83%83%E3%82%B8%E3%81%A8%E7%AB%8B%E3%81%A1%E4%B8%8B%E3%81%8C%E3%82%8A%E3%82%A8%E3%83%83%E3%82%B8%E3%81%AE%E4%B8%A1%E6%96%B9%E3%81%A7%E3%81%AE%20GPIO%20%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%3C%2FA%3E%E3%81%AE%E8%AA%AC%E6%98%8E%E3%81%8B%E3%82%89%E4%BD%9C%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1100446%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX2x%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
評価なし
バージョン履歴
最終更新日:
‎03-19-2013 11:17 PM
更新者: