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.
main.cpp
- Committer:
- tanofgennaro
- Date:
- 2019-10-25
- Revision:
- 3:20222fa63b3e
- Parent:
- 2:cbc675b0abd5
File content as of revision 3:20222fa63b3e:
/*
* Author: G. Pathuis
* Date: 02-12-17
* Notes: HC05 connected to a KL25Z
* Pair with PC use password 1234
*
* Four wire connection
* HC05 to KL25Z
* GND to GND
* +5V to 5V
* TX to pin PTE0
* RX to pin PTE1
*
* Open Tera Term session to connect to KL25Z
* and
* Open second Tera Term session to read the Bluetooth
* dongle in the PC set at 38400 baud
*
* http://www.wavesen.com
*/
#include "mbed.h"
#include "MODSERIAL.h"
MODSERIAL pc(USBTX, USBRX, 256, 256);
MODSERIAL blue(PTE0, PTE1, 256, 256); // TX, RX
DigitalOut myled1(LED1); //Blue
DigitalOut myled2(LED2); //Green
// This function is called when a character received from PC
void pc_rxCallback(MODSERIAL_IRQ_INFO *q)
{
int c;
c= pc.getc();
blue.putc(c); // Send from PC to Blue
pc.putc(c); // Echo to PC
}
// This function is called when a character received from Bluetooth
void blue_rxCallback(MODSERIAL_IRQ_INFO *q)
{
//char b;
int b;
myled1 = !myled1;
b= blue.getc();
pc.putc(b);
}
int main()
{
pc.baud(9600);
pc.format(8,SerialBase::None,1);
blue.baud(9600); // Default Bluetooth Baudrate
blue.format(8,SerialBase::None,1);
pc.printf("Bluetooth HC-05\r\n");
pc.printf("Make sure the terminal programm ends with CR-LF\r\n");
pc.printf("\r\n");
wait_ms(100);
// Char from PC, interrupt service routine
pc.attach(&pc_rxCallback, MODSERIAL::RxIrq);
// Char from Bluetooth, interrupt service routine
blue.attach(&blue_rxCallback, MODSERIAL::RxIrq);
// Set up
pc.puts("\r\nAT=");
blue.puts("AT\r\n");
wait_ms(1000);
pc.puts("\r\nAT+VERSION?= ");
blue.puts("AT+VERSION?\r\n");
wait_ms(1000);
pc.puts("\r\nAT+ADDR?= ");
blue.puts("AT+ADDR?\r\n");
wait_ms(1000);
pc.puts("\r\nAT+NAME?= ");
blue.puts("AT+NAME?\r\n");
wait_ms(1000);
pc.puts("\r\nAT+UART=9600,0,0"); //No parity, 1 Stop bit
blue.puts("AT+UART=9600,0,0\r\n"); //No parity, 1 Stop bit
wait_ms(1000);
pc.puts("\r\nAT+UART?= ");
blue.puts("AT+UART?\r\n");
wait_ms(1000);
pc.puts("\r\nAT+Role?= ");
blue.puts("AT+Role?\r\n");
wait_ms(1000);
pc.puts("\r\nAT+RESET= ");
blue.puts("AT+RESET\r\n");
wait_ms(1000);
while (1) {
}
}