#include <stdint.h>
#include <stdbool.h>
#include "driverlib/rom.h"
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/interrupt.h"
#include "driverlib/gpio.h"
#include "driverlib/timer.h"
#include "driverlib/pin_map.h"
#include "driverlib/pwm.h"
#define LEPTETOM_PWM_HZ 1 //1 Hz
#define LEPTETOM_PWM_PIN GPIO_PIN_7
void LEPTETOMOTOR(uint8_t haladas){
uint32_t ulPeriod;
uint32_t kitoltes = 0;
float szamitas = 0.0;
ulPeriod = ROM_SysCtlClockGet() / LEPTETOM_PWM_HZ;
szamitas = (1.0-(haladas/255));
kitoltes = (uint32_t) (ulPeriod-1)*szamitas;
ROM_TimerConfigure(WTIMER5_BASE, (TIMER_CFG_SPLIT_PAIR|TIMER_CFG_B_PWM));
ROM_TimerControlLevel(WTIMER5_BASE, TIMER_B, false);
ROM_TimerLoadSet(WTIMER5_BASE, TIMER_B, ulPeriod-1);
ROM_TimerMatchSet(WTIMER5_BASE, TIMER_B, kitoltes);
ROM_TimerEnable(WTIMER5_BASE, TIMER_B);
}
int main(void) {
ROM_FPUEnable();
ROM_FPULazyStackingEnable();
ROM_SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ |
SYSCTL_OSC_MAIN);
//lepteto
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); // Enable port D
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_WTIMER5);
ROM_GPIOPinConfigure(GPIO_PD7_WT5CCP1);
ROM_GPIOPinTypeTimer(GPIO_PORTD_BASE, LEPTETOM_PWM_PIN);
LEPTETOMOTOR(127);
varakozasMS(10);
while(1);
}