This is a very simple guide, reviewing the steps required to get Blinky working on an Mbed OS platform.

Dependencies:   RemoteIR

Revision:
113:be6b329fe2d5
Parent:
112:5a7629ace1c4
Child:
114:376a5998ecf4
--- a/main.cpp	Thu Apr 09 09:32:04 2020 +0000
+++ b/main.cpp	Mon Apr 13 09:56:56 2020 +0000
@@ -1,78 +1,20 @@
 #include "mbed.h"
 
-
-int interval;
-
-void led2_init(void);
-void button_init(void);
-void led2_toggle(void);
-
-void button_Handler(void);
-
+RawSerial pc(PA_2, PA_3, 115200); // USART2
 
 int main() {
 
-    led2_init();
-    button_init();
-
-    NVIC_SetVector(EXTI15_10_IRQn,(uint32_t)button_Handler);
-
-    interval = 500;
-
+    pc.printf("\r\n Welcome to UART Lab_2_1!\r\n");
+    pc.printf("Enter characters..\r\n");
+    
     while(true) {
         
-        led2_toggle();
-        
-        ThisThread::sleep_for(interval);
-    }
-}
-void led2_init(void) {
-    __HAL_RCC_GPIOA_CLK_ENABLE();
-    GPIOA->MODER &= ~(0b11<< (5 * 2)); // reset PA5 mode
-    GPIOA->MODER |= 0b01<< (5 * 2); // 01 - write mode
-}
-
-
-void led2_toggle(void){
-    
-    uint32_t isOn;
-    
-    isOn = GPIOA->IDR & (0b1 << 5); //recent write value
-    
-    if(isOn > 0) {
-        
-        GPIOA->BSRR &= ~(0b1 << 5); //set 0 on PA_5_5
-        GPIOA->BSRR |= 0b1<< (5 + 16); // set 1 on PA5_21
-        
-    } else {
-        
-        GPIOA->BSRR |= 0b1 << 5; // set 1 on PA5_5
-        GPIOA->BSRR &= ~(0b1 << (5 + 16)); // set 0 on PA5_21
+        int ch = pc.getc();
+        pc.putc(ch);
+        if(ch == 0x0D) {
+         
+            while(!pc.writeable());
+            pc.putc(0x0A);
+        }
     }
-}
-
-
-void button_init(void) {
-    
-    __HAL_RCC_GPIOC_CLK_ENABLE();
-    GPIOC->MODER &= ~(0b11<< (13 * 2)); // reset PC13 mode
-    GPIOC->MODER |= 0b00<< (13 * 2); // 00 - read mode
-    
-    SYSCFG->EXTICR[3] &= ~(0b1111 << 4);
-    SYSCFG->EXTICR[3] |= (0b0010 << 4);
-    
-    EXTI->IMR |= (0b1 << 13);
-    EXTI->FTSR |= (0b1 << 13);
-    
-}
-
-void button_Handler(void){
-    
-    if(interval < 2000) {
-        interval *= 2;
-    } else {
-        interval = 500;
-    }    
-    
-    EXTI->PR |= (0b1 << 13);
 }
\ No newline at end of file