AnsweredAssumed Answered

MEMS-Sensors with STM32F4 Discovery

Question asked by Karlo Doesn't Matter on Jun 13, 2017
Latest reply on Oct 20, 2017 by AvaTar

Hello everybody, 

I am a student and I really don't have a clue how to program an uController. This year we have a big project with a STM32F4 Discovery board. We need to read the data from an additional board, that includes 3 Sensors: Accelerometer, Gyroscope and Magnetometer. We are not allowed to use the CubeMx or any additional Libraries, but we do have a starting program to help us.

Can you please give me some "to do list", some plan how to start, what i need to do?

For example, this is the main:

//
// Main.cpp
//

#include <Compiler.h>
#include <Cortex-M.h>
#include <Debug.h>

#include "STM32F4xx_Init.h"

#include <STK.h>

static bool volatile runMainLoop = true;

/// Program entry.
DECL_NO_RETURN int main(void)
{
ITM_PUTS("It all starts here!");
ITM_PRINTF("AHB clock = %u Hz", HClk());
ITM_PRINTF("APB1 clock = %u Hz", PClk1());
ITM_PRINTF("APB2 clock = %u Hz", PClk2());

STM32F4xx_Init();

ITM_PUTS("Controller has been initialized");

/// User initialization may start here
/// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv



/// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/// End of user initialization!

/// Das BASEPRI-Register ist im Start-up-Code auf 0x10 eingestellt worden. Damit kann kein IRQ mit niedrigerer oder gleicher Prio
/// aktiv werden. Erst mit dem Auruf der nachfolgenden Funktion können alle IRQs aktiv werden.

SetBASEPRI(0U);

ITM_PRINTF("BASEPRI=0x%08X", GetBASEPRI());

/// Indem Bit #0 im CONTROL-Register des Cortex-M4 gesetzt wird, wird der Prozessor in den non-priviliegierten Modus gesetzt.
/// Damit können diverse, wichtige Einstellungen nicht mehr versehentlich überschrieben werden.
/// Aber Achtung: Der Exception-Modus ist immer privilegiert, unabhängig von CONTROL[0].

SetCONTROL(1U | GetCONTROL());

ITM_PRINTF("CONTROL=0x%08X", GetCONTROL());

ITM_PUTS("Starting main loop");

while ( runMainLoop )
{

}

ITM_PUTS("This is the end!");

ResetController();
}

 

 

Thank you in advance!

Attachments

Outcomes