Hallo leute, ich würde gerne eine funktion schreiben welche mittles "systick-interrupt" und dem in- bzw. dekremetieren der Schaltzustände für das Entprellen mehrerer Taster sorgt. ich hab hier http://www.emcu.it/STM32/STM32Discovery-Debounce/STM32Discovery-InputWithDebounce_Output_UART_SPI_SysTick.html dazu entsprechende Codeschnipsel gefunden -> soweit so gut, verstehe auch was der Code tut. Ich würde jetzt aber gern basierend auf diesen Codeschnipseln eine Funktion erstellen welcher im Funktionskopf der Port und der Pin übergeben wird und als Rückgabewert eine 1 od. 0 liefert. z.B.: Pin 1 am PortC soll entprellt/ausgelesen werden. Funktionsaufruf sollte sinngemäß so aussehen: Debounce(GPIOC,1) Ich weiß dass der Funktionskopf jenem von
1 | uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) |
ähnelt(bis auf den zeiger). Ich hab auch versucht diese Funktion "umzubauen" => es folgten (für mich) unschlüssige Compiler Fehlermeldungen :-( In der Funktion selber sollte dann das erste Bit aus GPIOC->IDR ausgelesen werden. INFO: die Ports/Pins/Systick Interrupt funktionieren an sich wie gewünscht => scheint also alles richtig konfiguriert(wurde direkt über die Register gemacht und nicht mit den Libfunktionen) zu sein! Ich nehme an, dass das Problem nur auf meiner Unkenntis beruht(kämpfe/google mit dem Problem schon bald 3 Tage). Für einen STM32/C-Kundigen nehm ich an wird das sicher kein Problem sein => würde mich über sinnvolle Vorschläge freuen! Danke mfg Hans