Probleme mit in8 - LPC
Verfasst: 9. Mär 2019, 17:22
Hallo zusammen...
Vorweg schon einmal, vielen Dank für dieses Tolle Projekt!!
Ich habe ein Problem mit dem Binär Eingang. Wenn ich den ersten Kanal Binäreingang, als Schaltzähler konfiguriere. Dann scheint etwas mit der Fallenden Flanke nicht zu passen.
Das ganze stellt sich so da:
1. Konfiguriert auf steigende Flanke = Zählverhalten Normal beim schließen des Stromkreises
2. Konfiguriert auf fallende Flanke = nichts! Man kann keinen Zählvorgang auslösen!
3. Konfiguriert auf beide Flanken = verhalten wie bei 1.
Jetzt ist die Frage, mache ich etwas Falsch oder kann das Fehlverhalten jemand bestätigen?
******* fb_app_in8.c ** Zeile 277 *********
case 10:// ### Schaltzähler ###
n=eeprom[0xD5+(pinno*4)];// Parameter Flanke für Zählimpuls
if ((n&0x01 && st_Flanke)||(n&0x02 &! st_Flanke)){
zaehlervalue[pinno]++;// zählwert erhöhen
schrittzaehler[pinno]++;// schrittzähler erhöhen
maxzaehler=(eeprom[para_adr +2]<<8) +eeprom[para_adr+3];
tmp=0;
Ist die Eprom Position für diesen Parameter korrekt und wie kann ich das überprüfen?
Ist der IF Operator korrekt?
Wert in st_Flanke sollte eigentlich passen, sonst würde man das in den anderen Funktionsarten auch merken!
Ich bin der Meinung gleiches Problem gibt es auch beim Impulszähler?
Viele Grüße in die Runde
Andre
Vorweg schon einmal, vielen Dank für dieses Tolle Projekt!!
Ich habe ein Problem mit dem Binär Eingang. Wenn ich den ersten Kanal Binäreingang, als Schaltzähler konfiguriere. Dann scheint etwas mit der Fallenden Flanke nicht zu passen.
Das ganze stellt sich so da:
1. Konfiguriert auf steigende Flanke = Zählverhalten Normal beim schließen des Stromkreises
2. Konfiguriert auf fallende Flanke = nichts! Man kann keinen Zählvorgang auslösen!
3. Konfiguriert auf beide Flanken = verhalten wie bei 1.
Jetzt ist die Frage, mache ich etwas Falsch oder kann das Fehlverhalten jemand bestätigen?
******* fb_app_in8.c ** Zeile 277 *********
case 10:// ### Schaltzähler ###
n=eeprom[0xD5+(pinno*4)];// Parameter Flanke für Zählimpuls
if ((n&0x01 && st_Flanke)||(n&0x02 &! st_Flanke)){
zaehlervalue[pinno]++;// zählwert erhöhen
schrittzaehler[pinno]++;// schrittzähler erhöhen
maxzaehler=(eeprom[para_adr +2]<<8) +eeprom[para_adr+3];
tmp=0;
Ist die Eprom Position für diesen Parameter korrekt und wie kann ich das überprüfen?
Ist der IF Operator korrekt?
Wert in st_Flanke sollte eigentlich passen, sonst würde man das in den anderen Funktionsarten auch merken!
Ich bin der Meinung gleiches Problem gibt es auch beim Impulszähler?
Viele Grüße in die Runde
Andre