Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: RemoteIR TextLCD
Diff: main.cpp
- Revision:
- 0:0d0037aabe41
- Child:
- 1:5bb497a38344
diff -r 000000000000 -r 0d0037aabe41 main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue Jul 14 01:20:09 2020 +0000
@@ -0,0 +1,68 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2019 ARM Limited
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include "mbed.h"
+#include "ReceiverIR.h"
+#include "rtos.h"
+#include <stdint.h>
+#include "platform/mbed_thread.h"
+
+Serial pc(USBTX, USBRX);
+
+
+DigitalIn button(p15);
+// ポートp15を赤外線受信モジュールの接続先に指定
+ReceiverIR ir_rx(p15);
+RemoteIR::Format format;
+uint8_t buf[32];
+uint32_t bitcount;
+uint8_t code;
+char mode[20];
+
+void rimokon();
+
+void rimokon(/*void const *argument*/){
+
+
+ // 受信待ち
+ if (ir_rx.getState() == ReceiverIR::Received) {
+ // コード受信
+ bitcount = ir_rx.getData(&format, buf, sizeof(buf) * 8);
+ if(bitcount > 1){
+ // 受信成功
+ code = buf[2];
+ pc.printf("%x\r\n",code);
+ switch(code){
+ case 0x40://ok
+ strcpy(mode,"Default");
+ pc.printf("%s\r\n",mode);
+ break;
+ case 0x42://*
+ strcpy(mode,"Avoidance");
+ pc.printf("%s\r\n",mode);
+ break;
+ case 0x4a://#
+ strcpy(mode,"Line_Trace");
+ pc.printf("%s\r\n",mode);
+ break;
+ default:
+ ;
+ }
+ }
+ }
+
+}
+
+int main() {
+
+ //RtosTimer rimokon_timer(rimokon, osTimerPeriodic, (void *)0); // set RTOS timer for sensor
+ //rimokon_timer.start(10);
+ //Thread thread1(rimokon , NULL , osPriorityHigh);
+ while(1){
+ if(button.read()==0){
+ rimokon();
+ }
+ }
+}
\ No newline at end of file