10 years, 11 months ago.

I am trying to toggle D1 pin, but it remains low only, how to toggle pin D1 ?

  1. include "mbed.h"

DigitalOut myled(LED1);

DigitalOut LCD_D0(D0); DigitalOut LCD_D1(D1); DigitalOut LCD_D2(D2); DigitalOut LCD_D3(D3); DigitalOut LCD_D4(D4); DigitalOut LCD_D5(D5); DigitalOut LCD_D6(D6); DigitalOut LCD_D7(D7); DigitalOut LCD_D8(D8); DigitalOut LCD_D9(D9); DigitalOut LCD_D10(D10); DigitalOut LCD_D11(D11); DigitalOut LCD_D12(D12); DigitalOut LCD_D13(D13); DigitalOut LCD_D14(D14); DigitalOut LCD_D15(D15);

int main() { while(1) { myled = 1; LED is ON wait(0.2); 200 ms myled = 0; LED is OFF wait(1.0); 1 sec

LCD_D2 = 1; D2 = 1 LCD_D1 = 1; D1 = 1 wait(3); 3 sec LCD_D2 = 0; D2 = 0 LCD_D1 = 0; D1 = 0 wait(3); 3 sec } }

above code toggles D2 but not D1, D1 remains low, how to toggle pin D1? same is the case for D0

Question relating to:

2 Answers

10 years, 11 months ago.

If I recall correctly D0 and D1 are by default not connected. You can see if the Nucleo manual says something about it.

Accepted Answer
10 years, 11 months ago.

You must use "<<code>> and <</code>>" tags to make your program readable on this forum...

#include "mbed.h" 

DigitalOut myled(LED1);

DigitalOut LCD_D0(D0); 
DigitalOut LCD_D1(D1); 
DigitalOut LCD_D2(D2); 
DigitalOut LCD_D3(D3); 
DigitalOut LCD_D4(D4); 
DigitalOut LCD_D5(D5); 
DigitalOut LCD_D6(D6); 
DigitalOut LCD_D7(D7); 
DigitalOut LCD_D8(D8); 
DigitalOut LCD_D9(D9); 
DigitalOut LCD_D10(D10);
DigitalOut LCD_D11(D11); 
DigitalOut LCD_D12(D12); 
DigitalOut LCD_D13(D13); 
DigitalOut LCD_D14(D14); 
DigitalOut LCD_D15(D15);

int main() 
{ 
  while(1) 
  { 
    myled = 1;  // LED is ON 
    wait(0.2);    //200 ms 
    myled = 0; //LED is OFF 
    wait(1.0);   //1 sec

    LCD_D2 = 1; 
    LCD_D1 = 1; 
    wait(3);  
    LCD_D2 = 0; 
    LCD_D1 = 0; 
    wait(3); 
  } 
}

It have to works...