MotorControlModuleSDFM_TMS3.../Projects/epwm_test/src/Peripherals/gpio_init.c

173 lines
4.3 KiB
C

/*
* gpio_init.c
*
* Created on: 4 ńĺíň. 2023 ă.
* Author: seklyuts
*/
#include "f28x_project.h"
void GpioDiodInit(void)
{
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0;
GpioCtrlRegs.GPAGMUX1.bit.GPIO6 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO6 = 1;
GpioDataRegs.GPADAT.bit.GPIO6 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 0;
GpioCtrlRegs.GPAGMUX1.bit.GPIO7 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO7 = 1;
GpioDataRegs.GPADAT.bit.GPIO7 = 0;
GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 0;
GpioCtrlRegs.GPAGMUX1.bit.GPIO10 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO10 = 1;
GpioDataRegs.GPADAT.bit.GPIO10 = 0;
EDIS;
}
void GpioSetGreen(void)
{
GpioDataRegs.GPADAT.bit.GPIO6 = 0;
GpioDataRegs.GPADAT.bit.GPIO6 = 0;
GpioDataRegs.GPADAT.bit.GPIO6 = 0;
GpioDataRegs.GPADAT.bit.GPIO7 = 0;
GpioDataRegs.GPADAT.bit.GPIO7 = 0;
GpioDataRegs.GPADAT.bit.GPIO7 = 0;
GpioDataRegs.GPADAT.bit.GPIO10 = 1;
GpioDataRegs.GPADAT.bit.GPIO10 = 1;
GpioDataRegs.GPADAT.bit.GPIO10 = 1;
}
void GpioSetBlue(void)
{
GpioDataRegs.GPADAT.bit.GPIO6 = 0;
GpioDataRegs.GPADAT.bit.GPIO6 = 0;
GpioDataRegs.GPADAT.bit.GPIO6 = 0;
GpioDataRegs.GPADAT.bit.GPIO7 = 1;
GpioDataRegs.GPADAT.bit.GPIO7 = 1;
GpioDataRegs.GPADAT.bit.GPIO7 = 1;
GpioDataRegs.GPADAT.bit.GPIO10 = 0;
GpioDataRegs.GPADAT.bit.GPIO10 = 0;
GpioDataRegs.GPADAT.bit.GPIO10 = 0;
}
void GpioSetOrange(void)
{
GpioDataRegs.GPADAT.bit.GPIO6 = 1;
GpioDataRegs.GPADAT.bit.GPIO6 = 1;
GpioDataRegs.GPADAT.bit.GPIO6 = 1;
GpioDataRegs.GPADAT.bit.GPIO7 = 0;
GpioDataRegs.GPADAT.bit.GPIO7 = 0;
GpioDataRegs.GPADAT.bit.GPIO7 = 0;
GpioDataRegs.GPADAT.bit.GPIO10 = 1;
GpioDataRegs.GPADAT.bit.GPIO10 = 1;
GpioDataRegs.GPADAT.bit.GPIO10 = 1;
}
void GpioInit(void)
{
EALLOW;
GpioCtrlRegs.GPCMUX2.bit.GPIO95 = 0; // đĺëĺ ńčëîâîĺ
GpioCtrlRegs.GPCGMUX2.bit.GPIO95 = 0;
GpioCtrlRegs.GPCDIR.bit.GPIO95 = 1;
GpioDataRegs.GPCDAT.bit.GPIO95 = 1;
GpioCtrlRegs.GPCMUX1.bit.GPIO64 = 0;//FaultPWM
GpioCtrlRegs.GPCGMUX1.bit.GPIO64 = 0;
GpioCtrlRegs.GPCDIR.bit.GPIO64 = 0;
GpioDataRegs.GPCDAT.bit.GPIO64 = 0;
GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 0;
GpioCtrlRegs.GPBGMUX2.bit.GPIO57 = 0;
GpioCtrlRegs.GPBDIR.bit.GPIO57 = 1;
GpioDataRegs.GPBDAT.bit.GPIO57 = 1;//BISS-C_PWR_EN
GpioCtrlRegs.GPCMUX2.bit.GPIO83 = 0;
GpioCtrlRegs.GPCGMUX2.bit.GPIO83 = 0;
GpioCtrlRegs.GPCDIR.bit.GPIO83 = 1;
#ifdef RS485
GpioDataRegs.GPCDAT.bit.GPIO83 = 0;
#else
GpioDataRegs.GPCDAT.bit.GPIO83 = 1;
#endif
GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO21 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO21 = 1;
#ifdef RS485
GpioDataRegs.GPADAT.bit.GPIO21 = 1;
#else
GpioDataRegs.GPADAT.bit.GPIO21 = 0;
#endif
GpioCtrlRegs.GPDMUX1.bit.GPIO103 = 0;
GpioCtrlRegs.GPDGMUX1.bit.GPIO103 = 0;
GpioCtrlRegs.GPDDIR.bit.GPIO103 = 1;
GpioDataRegs.GPDDAT.bit.GPIO103 = 0; //BISS-C_PWR_12V/5V
EDIS;
}
//void Gpio20out(uint16_t out_bit)
//{
// GpioDataRegs.GPADAT.bit.GPIO20 = out_bit;
//}
//
//void Gpio21out(uint16_t out_bit)
//{
// GpioDataRegs.GPADAT.bit.GPIO21 = out_bit;
//}
void Gpio6out(uint16_t out_bit)//led_r
{
GpioDataRegs.GPADAT.bit.GPIO6 = out_bit;
}
void Gpio7out(uint16_t out_bit)//led_b
{
GpioDataRegs.GPADAT.bit.GPIO7 = out_bit;
}
void Gpio10out(uint16_t out_bit)//led_g
{
GpioDataRegs.GPADAT.bit.GPIO10 = out_bit;
}
void Gpio_rainbow(uint16_t color)
{
GpioDataRegs.GPADAT.bit.GPIO10 = color & 1;
GpioDataRegs.GPADAT.bit.GPIO10 = color & 1;
GpioDataRegs.GPADAT.bit.GPIO10 = color & 1;
GpioDataRegs.GPADAT.bit.GPIO7 = (color >> 1) & 1;
GpioDataRegs.GPADAT.bit.GPIO7 = (color >> 1) & 1;
GpioDataRegs.GPADAT.bit.GPIO7 = (color >> 1) & 1;
GpioDataRegs.GPADAT.bit.GPIO6 = (color >> 2) & 1;
GpioDataRegs.GPADAT.bit.GPIO6 = (color >> 2) & 1;
GpioDataRegs.GPADAT.bit.GPIO6 = (color >> 2) & 1;
}
void Gpio55out(uint16_t out_bit)
{
GpioDataRegs.GPBDAT.bit.GPIO55 = out_bit;
}
void Gpio56out(uint16_t out_bit)
{
GpioDataRegs.GPBDAT.bit.GPIO56 = out_bit;
}
void Gpio57out(uint16_t out_bit)
{
GpioDataRegs.GPBDAT.bit.GPIO57 = out_bit;
}
void Gpio95out(uint16_t out_bit)
{
GpioDataRegs.GPCDAT.bit.GPIO95 = out_bit;
}