Beruflich Dokumente
Kultur Dokumente
#include<stdint.h>
#include<stdbool.h>
#include"inc/hw_memmap.h"
#include"driverlib/gpio.h"
#include"inc/hw_types.h"
#include"driverlib/debug.h"
#include"driverlib/sysctl.h"
#include"driverlib/adc.h"
#include"driverlib/pwm.h"
#include"driverlib/pin_map.h"
#include"inc/hw_gpio.h"
#include"driverlib/rom.h"
int main(void)
{
//volatile uint8_t ui8Adjust;//VARIABLE FOR PWM_WIDTH SET AS % FROM 0 TO 100
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
//PERIPHERAL CONFIGURATION
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM1); //PWM
PERIPHERAL ENABLE
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); //GPIO FOR
PWM1
GPIOPinTypePWM(GPIO_PORTD_BASE, GPIO_PIN_0); //GPIO PD0 FOR
PWM1
GPIOPinConfigure(GPIO_PD0_M1PWM0); //PD0 AS M1PWM0
PWMGenConfigure(PWM1_BASE, PWM_GEN_0,
PWM_GEN_MODE_DOWN); //SET PWM GENERATOR WITH MODEOF OPERATION AS COUNTING
PWMGenPeriodSet(PWM1_BASE, PWM_GEN_0,4096); //SET PERIOD OF
PWM GENERATOR
PWMOutputState(PWM1_BASE, PWM_OUT_0_BIT, true); //ENABLE
BIT0 OUTPUT
PWMGenEnable(PWM1_BASE, PWM_GEN_0); //ENABLE PWM_GEN_0
GENERATOR
while(1)
{
// CLEAR INTERRUPT FLAG FOR ADC0, SEQUENCER 1
ADCIntClear(ADC0_BASE, 1);
// TRIGGER IS GIVEN FOR ADC 0 MODULE, SEQUENCER 1
ADCProcessorTrigger(ADC0_BASE, 1);
// STORE THE CONVERTED VALUE FOR ALL DIFFERENT SAMPLING IN ARRAY
ui32ADC0Value
ADCSequenceDataGet(ADC0_BASE, 1, ui32ADC0Value);
if(ui32ADC0Value[0] == 4095)
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,
0x02); //RED LED high
}
else
{
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,
0x00); //RED LED high
}