Moin,
ich bin gerade ein wenig dabei mit dem ch32v003 baremetal rumzuspielen
mithilfe des Reference Manuals, hab aber Probleme die Externen
Interrupts zum laufen zu bekommen und weiß nicht so recht woran es
liegen könnte. Vielleicht weiß hier jemand warum das bei mir nicht ganz
so will.
Meine main.cpp:
https://pastebin.com/jJgft3gz
Die gpio.h funktioniert soweit einwandfrei, kann auf GPIO
schreiben/lesen.
Mit dem Debugger hab ich in folgenden Registern folgende Werte:
1 | EXTI_ENR = 8
|
2 | EXTI_RTENR = 8
|
3 | EXTI_FTENR = 8
|
4 | EXTI_INTFR = 0 # das sollte ja eigentlich nach einem Flankenwechsel auch 8 sein.
|
5 | AFIO_EXTICR = 12288
|
Mein Linking Script:
https://pastebin.com/nQiFKhLq
Makefile:
https://pastebin.com/5Tg2V21D
Startup.s:
https://pastebin.com/mM11mErE
Wahrscheinlich ists einfach nur ein "Dummer" Fehler, aber wirklich
dahinter kommen tue ich nicht. Ich könnte natürlich einfach die SDK von
WCH selbst verwenden oder ch32fun, aber da werde ich nicht verstehen was
ich beim Konfigurieren Falsch gemacht habe, daher bin ich etwas Barebone
unterwegs