mám tu problém - rozchodil jsem si klávesnici s MCP23017, bohužel jsem nucen využít přerušení.
A to nemohu s Arduinem rozchodit. Louskal jsem zahraniční fora, bohužel má znalost Angličtiny je "pod psa".
Z toho mála co jsem pochopil jsem si napsal pokusný program, který nefunguje:
Na pinu 3 mám vedeno přerušení z MCP; Normálně LED bliká, po stisknutí kl. na adrese 0 má vyslat MCP log.1 na pin 3 a Arduino skočit na podprogram "preruseni". No- a MCP mi nastaví výstup přerušení trvale do jedničky a nehne s tim ani restart.
Nevíte, jak se ten MCP programuje?
Dík za každou radu, přeji pěkný den

#include <Wire.h>
#include "Adafruit_MCP23017.h"
Adafruit_MCP23017 mcp;
void setup() {
mcp.begin(); // use default address 0
mcp.pinMode(0, INPUT); // klávesa 0 jako vstup
mcp.pullUp(0, HIGH); // ošetřeno do 1
pinMode(13, OUTPUT); //led jako výstup
mcp.setupInterrupts(1, 0, HIGH); // aktivace přerušení ( přerušení bude log.1 na výstupu klávesnice)
mcp.setupInterruptPin(0, RISING); //Pakliže se zmáčkne tlačítko (pin 0 --> log.1) , generuj na vystupu klavesnice (PIN 19 MCP) přerušení
attachInterrupt(1, preruseni, HIGH); // Arduino bude čekat na pinu 3 na log.1 Přijde-li na pin 3 log.1, skáču na podprogram "preruseni)
}
void loop()
{
digitalWrite(13, !digitalRead(13) ); //blikej
delay (1000);
}
void preruseni()
{
//něco dělej...