Jovan Ivković / Mbed 2 deprecated Nucleo_bitbanging_portsD5-D7led

Dependencies:   mbed

main.cpp

Committer:
JovanEps
Date:
2016-11-30
Revision:
6:64a3bea8be86
Parent:
5:64511b302803
Child:
7:13ae8d34cc97

File content as of revision 6:64a3bea8be86:

#include "mbed.h"
//********************************************************
//**  Nucleo-144 Stm32F746 and Stm32F767 bitbanging ******
//**  Jovan Ivkovic - 2016                          ******
//********************************************************
DigitalOut myled(LED1);
DigitalOut PD7(PF_13);
DigitalOut PD5(PE_11); //introduce D5 pin-out
DigitalOut PD13(PA_5); //introduce D13 pin-out
Serial pc(USBTX, USBRX);

void pingg(){
        while(1) {
        PD5 = 0; // D5 go low 1
        PD5 = 0; // D5 go low 2
        PD5 = 0; // D5 go low 3
        PD5 = 1; // D5 go inv-high on 74vhc14 - 1v
        PD5 = 0; // D5 go low 5
        PD5 = 0; // D5 go low 6
        PD5 = 0; // D5 go low 7
        PD5 = 0; // D5 go low 8
        PD5 = 0; // D5 go low 9
        PD5 = 0; // D5 go low 10
        pc.printf("One Run\n");
        }
    }
    
int main() {
    myled = 1; // LED is ON - working
    pc.baud(115200);
    //pc.baud(921600);
    pc.printf("Starting\n");
        wait(0.2); // 200 ms
    
    //NVIC_DisableIRQ(XXX); // Disable NVIC interrupt;
    /*
    while(1) {
      //  PD7 = 1; // D7 go high in 75ns
        //PD13 = 1; // D13 go high has delay of 
      //  myled = 1;
       
        PD5 = 0; // D5 go high
        //wait(0); // 1ns - exclude, we need as fast as we can get
      //  PD7 = 0; // D7 go low in next 74ns
        //PD13 = 0; // D13 go high 
      //  PD7 = 1;
        //PD13 = 1; // D13 go high
        PD5 = 0;
      //  PD13 = 0; // D13 go high
        //myled = 0;
        PD5 = 0; // D5 go low
        PD5 = 1; // D5 go inv-high on 74vhc14 - 1v
        PD5 = 0; // D5 go low
        PD5 = 1; // D5 go inv-high on 74vhc14 -2v
        PD5 = 0; // D5 go low 2v
        PD5 = 1; // D5 go inv-high on 74vhc14 - 2v
        PD5 = 0; // D5 go low 2v
        PD5 = 1; // D5 go inv-high on 74vhc14 - 3v
        PD5 = 0; // D5 go low 3v
        //v4 111010101010101 4-low lead and 6-inv-peek
        PD5 = 1; // D5 go inv-high on 74vhc14 - 4v
        PD5 = 0; // D5 go low 4v
        PD5 = 1; // D5 go inv-high on 74vhc14 - 4v
        PD5 = 0; // D5 go low 4v
        //wait(0);// 1nsec - exclude, we need as fast as we can get
            
        }  */ 
     pingg();
}