Receives text from a Android or other Bluetooth terminal and displays it on a 4-line HD4480-compatible text LCD. Uses an STM32F407VE "Black Pill" development board.

Dependencies:   TextLCD mbed

Revision:
0:2967b94b655c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Oct 15 23:49:33 2018 +0000
@@ -0,0 +1,46 @@
+/*
+Bluetooth to HD44780 (via Android Blutooth TerminL)
+Kate Barnes
+JY-MCU Bluetooth Module, 4-line HD44780 compatible LCD,
+STM32F407VE Development Board
+*/
+
+#include "mbed.h"
+#include "TextLCD.h"
+
+Serial pc(PA_9, PA_10);  // tx, rx. To terminal
+Serial pc2(PA_2, PA_3);  // tx, rx. To bluetooth board
+ 
+int main() {
+    TextLCD lcd(PE_2,PE_3,PE_4,PE_5,PE_6,PE_7, TextLCD::LCD20x4);
+    // Define custom character and assign it to '\1'
+    char square[]={ 0x0,0x1f,0x11,0x11,0x11,0x1f,0x0,0x0 };
+    lcd.defineChar(1, square);
+
+    pc.baud(57600);
+    pc.printf("Serial terminal online\r\n");
+    pc.printf("SystemCoreClock is %d MHz\r\n", (SystemCoreClock/1000000));
+    
+    pc2.baud(9600); // linvor bluetooth module default baud rate
+    //pc2.printf("AT");    
+    //wait(1);
+    //if(pc2.readable()) 
+    //{
+     //   pc.putc(pc2.getc());
+    //}
+    lcd.printf("  \1 BT Receiver \1");
+    lcd.printf("                    ");
+    lcd.printf("                    ");
+    lcd.printf("       \1 Barnes \1");
+    wait(2);
+    lcd.cls();
+    while (1) 
+    {
+        if(pc2.readable()) 
+        {
+            char SChar = pc2.getc();
+            pc.putc(SChar);
+            lcd.putc(SChar);
+        }
+    }
+}