Several examples run on only mbed-os5.13.0 (not 5.14.0)

Dependencies:   BD_SD_DISCO_F769NI BSP_DISCO_F769NI LCD_DISCO_F769NI TS_DISCO_F769NI USBHost_F769NI

Committer:
kenjiArai
Date:
Wed Aug 07 05:39:01 2019 +0000
Revision:
3:35ac9ee7d2d6
Child:
4:0f4affc00183
1st trial revision (Not finalized yet)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 3:35ac9ee7d2d6 1 /*
kenjiArai 3:35ac9ee7d2d6 2 * Mbed Application program / Blinky
kenjiArai 3:35ac9ee7d2d6 3 *
kenjiArai 3:35ac9ee7d2d6 4 * Copyright (c) 2018,'19 Kenji Arai / JH1PJL
kenjiArai 3:35ac9ee7d2d6 5 * http://www.page.sannet.ne.jp/kenjia/index.html
kenjiArai 3:35ac9ee7d2d6 6 * https://os.mbed.com/users/kenjiArai/
kenjiArai 3:35ac9ee7d2d6 7 * Created: April 10th, 2018
kenjiArai 3:35ac9ee7d2d6 8 * Revised: July 18th, 2019
kenjiArai 3:35ac9ee7d2d6 9 */
kenjiArai 3:35ac9ee7d2d6 10
kenjiArai 3:35ac9ee7d2d6 11 #include "select_program.h"
kenjiArai 3:35ac9ee7d2d6 12 //#define EXAMPLE_0_BLINKY_LED
kenjiArai 3:35ac9ee7d2d6 13 #ifdef EXAMPLE_0_BLINKY_LED
kenjiArai 3:35ac9ee7d2d6 14
kenjiArai 3:35ac9ee7d2d6 15 // Include --------------------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 16 #include "mbed.h"
kenjiArai 3:35ac9ee7d2d6 17
kenjiArai 3:35ac9ee7d2d6 18 // Definition -----------------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 19 #define LEDON 1
kenjiArai 3:35ac9ee7d2d6 20 #define LEDOFF 0
kenjiArai 3:35ac9ee7d2d6 21
kenjiArai 3:35ac9ee7d2d6 22 #define FOREVER 0x7fffffff
kenjiArai 3:35ac9ee7d2d6 23
kenjiArai 3:35ac9ee7d2d6 24 // Constructor ----------------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 25 DigitalOut my_led1(LED1);
kenjiArai 3:35ac9ee7d2d6 26 DigitalOut my_led2(LED2);
kenjiArai 3:35ac9ee7d2d6 27 DigitalOut my_led3(LED3);
kenjiArai 3:35ac9ee7d2d6 28 Serial pc(USBTX, USBRX, 115200);
kenjiArai 3:35ac9ee7d2d6 29
kenjiArai 3:35ac9ee7d2d6 30 // RAM ------------------------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 31
kenjiArai 3:35ac9ee7d2d6 32 // ROM / Constant data --------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 33
kenjiArai 3:35ac9ee7d2d6 34 // Function prototypes --------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 35 static void tsk_0(void const *args);
kenjiArai 3:35ac9ee7d2d6 36 static void tsk_1(void const *args);
kenjiArai 3:35ac9ee7d2d6 37 static void tsk_2(void const *args);
kenjiArai 3:35ac9ee7d2d6 38 static void tsk_3(void const *args);
kenjiArai 3:35ac9ee7d2d6 39
kenjiArai 3:35ac9ee7d2d6 40 //------------------------------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 41 // Control Program
kenjiArai 3:35ac9ee7d2d6 42 //------------------------------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 43 osThreadDef(tsk_0, osPriorityNormal,2048);
kenjiArai 3:35ac9ee7d2d6 44 osThreadDef(tsk_1, osPriorityNormal,2048);
kenjiArai 3:35ac9ee7d2d6 45 osThreadDef(tsk_2, osPriorityNormal,2048);
kenjiArai 3:35ac9ee7d2d6 46 osThreadDef(tsk_3, osPriorityNormal,2048);
kenjiArai 3:35ac9ee7d2d6 47
kenjiArai 3:35ac9ee7d2d6 48 int main()
kenjiArai 3:35ac9ee7d2d6 49 {
kenjiArai 3:35ac9ee7d2d6 50 pc.printf("\x1b[2J\x1b[H %s\r\n %s %s (UTC)\r\n",
kenjiArai 3:35ac9ee7d2d6 51 __FILE__, __DATE__, __TIME__);
kenjiArai 3:35ac9ee7d2d6 52 osThreadId id0, id1, id2, id3;
kenjiArai 3:35ac9ee7d2d6 53 id0 = osThreadCreate(osThread(tsk_0), NULL);
kenjiArai 3:35ac9ee7d2d6 54 id1 = osThreadCreate(osThread(tsk_1), NULL);
kenjiArai 3:35ac9ee7d2d6 55 id2 = osThreadCreate(osThread(tsk_2), NULL);
kenjiArai 3:35ac9ee7d2d6 56 id3 = osThreadCreate(osThread(tsk_3), NULL);
kenjiArai 3:35ac9ee7d2d6 57 pc.printf("id0=0x%x, id1=0x%x, id2=0x%x, id3=0x%x\r\n",
kenjiArai 3:35ac9ee7d2d6 58 (uint32_t)id0, (uint32_t)id1, (uint32_t)id2, (uint32_t)id3);
kenjiArai 3:35ac9ee7d2d6 59 while(true) {
kenjiArai 3:35ac9ee7d2d6 60 ThisThread::sleep_for(FOREVER);
kenjiArai 3:35ac9ee7d2d6 61 }
kenjiArai 3:35ac9ee7d2d6 62 }
kenjiArai 3:35ac9ee7d2d6 63
kenjiArai 3:35ac9ee7d2d6 64 void tsk_0(void const *args)
kenjiArai 3:35ac9ee7d2d6 65 {
kenjiArai 3:35ac9ee7d2d6 66 Timer t;
kenjiArai 3:35ac9ee7d2d6 67 uint32_t count = 0;
kenjiArai 3:35ac9ee7d2d6 68
kenjiArai 3:35ac9ee7d2d6 69 while(true) {
kenjiArai 3:35ac9ee7d2d6 70 t.reset();
kenjiArai 3:35ac9ee7d2d6 71 t.start();
kenjiArai 3:35ac9ee7d2d6 72 pc.printf("%5d\r\n", count++);
kenjiArai 3:35ac9ee7d2d6 73 uint32_t wait = 1000 - t.read_ms();
kenjiArai 3:35ac9ee7d2d6 74 ThisThread::sleep_for(wait);
kenjiArai 3:35ac9ee7d2d6 75 }
kenjiArai 3:35ac9ee7d2d6 76 }
kenjiArai 3:35ac9ee7d2d6 77
kenjiArai 3:35ac9ee7d2d6 78 void tsk_1(void const *args)
kenjiArai 3:35ac9ee7d2d6 79 {
kenjiArai 3:35ac9ee7d2d6 80 while(true) {
kenjiArai 3:35ac9ee7d2d6 81 my_led1 = LEDON;
kenjiArai 3:35ac9ee7d2d6 82 ThisThread::sleep_for(5);
kenjiArai 3:35ac9ee7d2d6 83 my_led1 = LEDOFF;
kenjiArai 3:35ac9ee7d2d6 84 ThisThread::sleep_for(1995);
kenjiArai 3:35ac9ee7d2d6 85 }
kenjiArai 3:35ac9ee7d2d6 86 }
kenjiArai 3:35ac9ee7d2d6 87
kenjiArai 3:35ac9ee7d2d6 88 void tsk_2(void const *args)
kenjiArai 3:35ac9ee7d2d6 89 {
kenjiArai 3:35ac9ee7d2d6 90 while(true) {
kenjiArai 3:35ac9ee7d2d6 91 my_led2 = LEDON;
kenjiArai 3:35ac9ee7d2d6 92 ThisThread::sleep_for(5);
kenjiArai 3:35ac9ee7d2d6 93 my_led2 = LEDOFF;
kenjiArai 3:35ac9ee7d2d6 94 ThisThread::sleep_for(2995);
kenjiArai 3:35ac9ee7d2d6 95 }
kenjiArai 3:35ac9ee7d2d6 96 }
kenjiArai 3:35ac9ee7d2d6 97
kenjiArai 3:35ac9ee7d2d6 98 void tsk_3(void const *args)
kenjiArai 3:35ac9ee7d2d6 99 {
kenjiArai 3:35ac9ee7d2d6 100 while(true) {
kenjiArai 3:35ac9ee7d2d6 101 my_led3 = LEDON;
kenjiArai 3:35ac9ee7d2d6 102 ThisThread::sleep_for(5);
kenjiArai 3:35ac9ee7d2d6 103 my_led3 = LEDOFF;
kenjiArai 3:35ac9ee7d2d6 104 ThisThread::sleep_for(3995);
kenjiArai 3:35ac9ee7d2d6 105 }
kenjiArai 3:35ac9ee7d2d6 106 }
kenjiArai 3:35ac9ee7d2d6 107
kenjiArai 3:35ac9ee7d2d6 108 #endif