I tried a simple mbed test ):
a simple mbed test:
#include "mbed.h"
Serial pc(PA_9, PA_10);
DigitalOut myled(PF_8);
DigitalOut myled2(PF_7);
int main() {
int i = 1;
pc.baud(115200);
pc.printf("Hello World !\n\r");
while(1) {
wait(1);
pc.printf("This program runs since [%d] seconds.\n\r", i++);
myled = !myled;
myled2 = !myled2;
}
}
I download the hello.bin into a stm32f407 board and reboot the board, it's work fine, two leds blink regularly and messages output the serial port.
I tried to build and run a simple mbed-rtos test, it's built successful and runs failed, the leds is turned on but didn't blink at all.
):
#include "mbed.h"
#include "rtos.h"
/*
* The stack size is defined in cmsis_os.h mainly dependent on the underlying toolchain and
* the C standard library. For GCC, ARM_STD and IAR it is defined with a size of 2048 bytes
* and for ARM_MICRO 512. Because of reduce RAM size some targets need a reduced stacksize.
*/
#if defined(TARGET_STM32L053R8) || defined(TARGET_STM32L053C8)
#define STACK_SIZE DEFAULT_STACK_SIZE/4
#else
#define STACK_SIZE DEFAULT_STACK_SIZE
#endif
void print_char(char c = '*')
{
// printf("%c", c);
// fflush(stdout);
}
DigitalOut myled(PF_8);
DigitalOut myled2(PF_7);
void led2_thread(void const *argument) {
while (true) {
myled = !myled;
Thread::wait(1000);
print_char();
}
}
int main() {
Thread thread(led2_thread, NULL, osPriorityNormal, STACK_SIZE);
while (true) {
myled2 = !myled2;
Thread::wait(500);
Any advice would be appreciated!
I tried a simple mbed test ):
a simple mbed test:
I download the hello.bin into a stm32f407 board and reboot the board, it's work fine, two leds blink regularly and messages output the serial port.
I tried to build and run a simple mbed-rtos test, it's built successful and runs failed, the leds is turned on but didn't blink at all.
):
Any advice would be appreciated!