A PWM library for LPC1768 that enables the sending of n number of PWM impulses through registry editing of LPC1768.

Committer:
mcmrk
Date:
Thu Oct 20 13:55:29 2016 +0000
Revision:
1:ce44c89d1128
Parent:
0:b3a0656d2b6e
dodan komentar

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tPelko 0:b3a0656d2b6e 1 /*--------------TruePWM.h----------*/
tPelko 0:b3a0656d2b6e 2 /*
tPelko 0:b3a0656d2b6e 3 _____ ____
tPelko 0:b3a0656d2b6e 4 | \ / /
tPelko 0:b3a0656d2b6e 5 | \ / / Mechatronics team
tPelko 0:b3a0656d2b6e 6 | \/ /__ https://developer.mbed.org/teams/TVZ-Mechatronics-Team/
tPelko 0:b3a0656d2b6e 7
tPelko 0:b3a0656d2b6e 8 Made by: Tomislav Pelko
tPelko 0:b3a0656d2b6e 9 */
tPelko 0:b3a0656d2b6e 10
tPelko 0:b3a0656d2b6e 11 /*TruePWM.h is a class for PWM signal generating trugh NXP LPC1768 registry editing*/
tPelko 0:b3a0656d2b6e 12 /*It's main feature is a function that enables the sending of n number of PWM impulses*/
tPelko 0:b3a0656d2b6e 13 /*Class still has limits in its use, especially in seting pulsewidth in a civil manner for any other pin than P26*/
tPelko 0:b3a0656d2b6e 14 /*This is the first working version and there are no guarantees and I'm not resposible for any fualts*/
tPelko 0:b3a0656d2b6e 15
tPelko 0:b3a0656d2b6e 16 #ifndef MBED_TRUEPWM_H
tPelko 0:b3a0656d2b6e 17 #define MBED_TRUEPWM_H
tPelko 0:b3a0656d2b6e 18
tPelko 0:b3a0656d2b6e 19 #include "mbed.h"
tPelko 0:b3a0656d2b6e 20 #include <Ticker.h>
tPelko 0:b3a0656d2b6e 21 #include "LPC17xx.h"
tPelko 0:b3a0656d2b6e 22
tPelko 0:b3a0656d2b6e 23 class TruePWM {
tPelko 0:b3a0656d2b6e 24 public:
tPelko 0:b3a0656d2b6e 25 TruePWM(PinName);
tPelko 0:b3a0656d2b6e 26
tPelko 0:b3a0656d2b6e 27 void stopPWM();
tPelko 0:b3a0656d2b6e 28 void startPWM();
tPelko 0:b3a0656d2b6e 29 void pulsewidth_us( uint32_t);
tPelko 0:b3a0656d2b6e 30 void period_us( uint32_t);
tPelko 0:b3a0656d2b6e 31 uint32_t getPeriod( void );
tPelko 0:b3a0656d2b6e 32 uint32_t getPulsewidth();
mcmrk 1:ce44c89d1128 33 void nImpulse(int); //Function for sending n number of pwm impulses
tPelko 0:b3a0656d2b6e 34 void setDuty(float);
mcmrk 1:ce44c89d1128 35 void pulsewidth_us_ind (uint32_t , char);
tPelko 0:b3a0656d2b6e 36
tPelko 0:b3a0656d2b6e 37
tPelko 0:b3a0656d2b6e 38 private:
tPelko 0:b3a0656d2b6e 39 void initTruePWM(); //For initial setup
tPelko 0:b3a0656d2b6e 40 Timeout t0; //A timer is used to control the number of PWM impulses sent
tPelko 0:b3a0656d2b6e 41
tPelko 0:b3a0656d2b6e 42
tPelko 0:b3a0656d2b6e 43 };
tPelko 0:b3a0656d2b6e 44
tPelko 0:b3a0656d2b6e 45 #endif