Hallo, ich verwende auf dem STM32 eine TypConversion die ein int16 zu einem float umwandeln soll, leider löst die immer einen hardfault aus und ich weiß nicht warum:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Please help ;D
|
Anzeige
|
wie int16 zu float umwanden ?Hallo, ich verwende auf dem STM32 eine TypConversion die ein int16 zu einem float umwandeln soll, leider löst die immer einen hardfault aus und ich weiß nicht warum:
Please help ;D Lass einfach den Typecast weg. float x; int y; x = y; Hi, das war scheinbar nicht der Fehler. Ich hab jetzt mal die FPU abgeschaltet und siehe da es geht!!! hier die for-Schleife wo ich das benutze:
Warum ist die FPU so böse zu mir ? Ich benutze keil als IDE und hatte "Use FPU" angeklickt. Viele Grüße Schienbar hat in der system_stm32f4xx.c in der system init das hier gefehlt:
Gast
#3565033
Ersan G. schrieb: > Warum ist die FPU so böse zu mir ? > Ich benutze keil als IDE und hatte "Use FPU" angeklickt. Weil du keine (eingeschaltet) hast: UsageFault, No coprocessor Status bit UFSR.NOCP Occurs on an attempt to access a coprocessor that does not exist, or to which access is denied Siehe S. 671 im ARMv7M Architecture Reference Manual Ersan, du bist mein Held des Tages! Ich hatte dasselbe Problem beim Casten eines Ints zu Float und aktivierter FPU (STM32F427ZI). Ich habe dann auch zuerst (zwar erfolgreich, aber etwas uneffizient) versucht ohne FPU zu arbeiten, aber mit der von dir geschilderten Anpassung der SystemInit() hat es nun auch mit FPU geklappt. Herzlichen Dank für den wertvollen Beitrag, MickMack Ja, immmer wieder gerne ;) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|