Bluetooth HC05 + KL25Z communicate with Bluetooth dongle in PC in both directions.

Dependencies:   mbed

Committer:
GerritPathuis
Date:
Sat Dec 02 13:21:04 2017 +0000
Revision:
0:0e236e004748
Child:
1:e73a7c99f767
Works, tested 2-12-2017

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GerritPathuis 0:0e236e004748 1 /*
GerritPathuis 0:0e236e004748 2 * Author: G. Pathuis
GerritPathuis 0:0e236e004748 3 * Date: 02-12-17
GerritPathuis 0:0e236e004748 4 * Notes: HC05 connected to a KL25Z
GerritPathuis 0:0e236e004748 5 * Pair with PC use password 1234
GerritPathuis 0:0e236e004748 6 *
GerritPathuis 0:0e236e004748 7 * Four wire connection
GerritPathuis 0:0e236e004748 8 * HC05 to KL25Z
GerritPathuis 0:0e236e004748 9 * GND to GND
GerritPathuis 0:0e236e004748 10 * +5V to 5V
GerritPathuis 0:0e236e004748 11 * TX to pin PTE0
GerritPathuis 0:0e236e004748 12 * RX to pin PTE1
GerritPathuis 0:0e236e004748 13 *
GerritPathuis 0:0e236e004748 14 * Open Tera Term session to connect to KL25Z
GerritPathuis 0:0e236e004748 15 * and
GerritPathuis 0:0e236e004748 16 * Open second Tera Term session to read the Bluetooth
GerritPathuis 0:0e236e004748 17 * dongle in the PC
GerritPathuis 0:0e236e004748 18 *
GerritPathuis 0:0e236e004748 19 * Make sute Tera Term uses 9600 baud
GerritPathuis 0:0e236e004748 20 */
GerritPathuis 0:0e236e004748 21
GerritPathuis 0:0e236e004748 22 #include "mbed.h"
GerritPathuis 0:0e236e004748 23
GerritPathuis 0:0e236e004748 24
GerritPathuis 0:0e236e004748 25 Serial pc(USBTX, USBRX);
GerritPathuis 0:0e236e004748 26 Serial blue(PTE0, PTE1); // TX, RX
GerritPathuis 0:0e236e004748 27
GerritPathuis 0:0e236e004748 28 DigitalOut myled(LED1);
GerritPathuis 0:0e236e004748 29 DigitalOut myled2(LED2);
GerritPathuis 0:0e236e004748 30
GerritPathuis 0:0e236e004748 31
GerritPathuis 0:0e236e004748 32 int main()
GerritPathuis 0:0e236e004748 33 {
GerritPathuis 0:0e236e004748 34 int i =0;
GerritPathuis 0:0e236e004748 35 blue.baud(9600); // Default Bluetooth Baudrate
GerritPathuis 0:0e236e004748 36 pc.baud(9600);
GerritPathuis 0:0e236e004748 37
GerritPathuis 0:0e236e004748 38 pc.printf("Bluetooth Start\r\n");
GerritPathuis 0:0e236e004748 39
GerritPathuis 0:0e236e004748 40 // Write from Bluetooth to PC
GerritPathuis 0:0e236e004748 41 for (i=0; i<10; i++) {
GerritPathuis 0:0e236e004748 42 blue.printf("Hello PC this is the HC-05, %d\n\r", i);
GerritPathuis 0:0e236e004748 43 myled = !myled;
GerritPathuis 0:0e236e004748 44 }
GerritPathuis 0:0e236e004748 45 wait(1);
GerritPathuis 0:0e236e004748 46
GerritPathuis 0:0e236e004748 47 // Echo back characters and toggle the LED
GerritPathuis 0:0e236e004748 48 while (1) {
GerritPathuis 0:0e236e004748 49 if (blue.readable()) {
GerritPathuis 0:0e236e004748 50 pc.putc(blue.getc());
GerritPathuis 0:0e236e004748 51 myled = !myled;
GerritPathuis 0:0e236e004748 52 }
GerritPathuis 0:0e236e004748 53 if (pc.readable()) {
GerritPathuis 0:0e236e004748 54 blue.putc(pc.getc());
GerritPathuis 0:0e236e004748 55 myled2 = !myled2;
GerritPathuis 0:0e236e004748 56 }
GerritPathuis 0:0e236e004748 57 wait_ms(10);
GerritPathuis 0:0e236e004748 58 }
GerritPathuis 0:0e236e004748 59 }