USART communication using Printf and scanf

Dependencies:   mbed

Fork of USART_Communication by Joël Imbaud

Committer:
jimbaud
Date:
Wed Dec 19 09:44:38 2018 +0000
Revision:
0:a97bb693dee7
USART communication using Printf and scanf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jimbaud 0:a97bb693dee7 1 /*
jimbaud 0:a97bb693dee7 2 https://os.mbed.com/docs/v5.7/reference/serial.html
jimbaud 0:a97bb693dee7 3 https://fr.wikiversity.org/wiki/Langage_C/Entr%C3%A9es-sorties
jimbaud 0:a97bb693dee7 4 */
jimbaud 0:a97bb693dee7 5
jimbaud 0:a97bb693dee7 6 #include "mbed.h"
jimbaud 0:a97bb693dee7 7
jimbaud 0:a97bb693dee7 8 // Hyperterminal configuration
jimbaud 0:a97bb693dee7 9 // 9600 bauds, 8-bit data, no parity Configuration du port COM
jimbaud 0:a97bb693dee7 10 Serial pc(SERIAL_TX, SERIAL_RX); //Association à pc le port série de l’interface ST-link
jimbaud 0:a97bb693dee7 11 DigitalOut myled(LED1);
jimbaud 0:a97bb693dee7 12
jimbaud 0:a97bb693dee7 13 //Exemple 1 : écriture sur le port COM
jimbaud 0:a97bb693dee7 14
jimbaud 0:a97bb693dee7 15 int main()
jimbaud 0:a97bb693dee7 16 { int i = 1; // Variable locale i mise à 1
jimbaud 0:a97bb693dee7 17 pc.printf("Hello World !\n"); //Impression sur le port pc de Hello world
jimbaud 0:a97bb693dee7 18
jimbaud 0:a97bb693dee7 19 while(1) {
jimbaud 0:a97bb693dee7 20 wait(1);
jimbaud 0:a97bb693dee7 21 pc.printf("This program runs since %d seconds.\n", i++); //Impression sur le port pc de …
jimbaud 0:a97bb693dee7 22 myled = !myled;
jimbaud 0:a97bb693dee7 23 }
jimbaud 0:a97bb693dee7 24 }
jimbaud 0:a97bb693dee7 25
jimbaud 0:a97bb693dee7 26 /*
jimbaud 0:a97bb693dee7 27 //Exemple 2 : Lecture sur le port COM
jimbaud 0:a97bb693dee7 28 // https://os.mbed.com/docs/v5.7/reference/serial.html
jimbaud 0:a97bb693dee7 29
jimbaud 0:a97bb693dee7 30
jimbaud 0:a97bb693dee7 31 int main()
jimbaud 0:a97bb693dee7 32 {
jimbaud 0:a97bb693dee7 33 pc.printf("Press '1' to turn LED1 ON, '0' to turn it OFF\n");
jimbaud 0:a97bb693dee7 34 while(1) {
jimbaud 0:a97bb693dee7 35 char c = pc.getc(); // Read hyperterminal
jimbaud 0:a97bb693dee7 36 if (c == '0') {
jimbaud 0:a97bb693dee7 37 led = 0; // OFF
jimbaud 0:a97bb693dee7 38 }
jimbaud 0:a97bb693dee7 39 if (c == '1') {
jimbaud 0:a97bb693dee7 40 led = 1; // ON
jimbaud 0:a97bb693dee7 41 }
jimbaud 0:a97bb693dee7 42 }
jimbaud 0:a97bb693dee7 43 }
jimbaud 0:a97bb693dee7 44
jimbaud 0:a97bb693dee7 45 */
jimbaud 0:a97bb693dee7 46
jimbaud 0:a97bb693dee7 47 /*
jimbaud 0:a97bb693dee7 48 // Exemple 3 : utilisation de scanf et printf
jimbaud 0:a97bb693dee7 49 int main() {
jimbaud 0:a97bb693dee7 50 int num;
jimbaud 0:a97bb693dee7 51 while(1) {
jimbaud 0:a97bb693dee7 52 pc.printf("Input any integer number: ");
jimbaud 0:a97bb693dee7 53 pc.scanf("%i", &num);
jimbaud 0:a97bb693dee7 54 pc.printf("\r\nnum = %d\r\n", num);
jimbaud 0:a97bb693dee7 55 pc.printf("num^2 = %d\r\n", num*num);
jimbaud 0:a97bb693dee7 56 }
jimbaud 0:a97bb693dee7 57 }
jimbaud 0:a97bb693dee7 58 */
jimbaud 0:a97bb693dee7 59
jimbaud 0:a97bb693dee7 60 /*
jimbaud 0:a97bb693dee7 61 //Example 3 : utilisation de pointeurs
jimbaud 0:a97bb693dee7 62 int main(void)
jimbaud 0:a97bb693dee7 63 {
jimbaud 0:a97bb693dee7 64 while (1) {
jimbaud 0:a97bb693dee7 65 int value = 0;
jimbaud 0:a97bb693dee7 66 int *pValue = &value; // Set pointer to refer to value.
jimbaud 0:a97bb693dee7 67 pc.printf ("Enter an integer: ");
jimbaud 0:a97bb693dee7 68 pc.scanf(" %d", pValue); // Read into value via the pointer.
jimbaud 0:a97bb693dee7 69 pc.printf("You entered %d (base 10).\n", value); // Display the value entered.
jimbaud 0:a97bb693dee7 70 pc.printf("Which is %x (base 16).\n", value); // Display the value entered.
jimbaud 0:a97bb693dee7 71 pc.printf("Done. Now I sleep.\n");
jimbaud 0:a97bb693dee7 72 wait(2);
jimbaud 0:a97bb693dee7 73 }
jimbaud 0:a97bb693dee7 74 }
jimbaud 0:a97bb693dee7 75
jimbaud 0:a97bb693dee7 76 */