MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/Motor/gpio_init.c

181 lines
4.6 KiB
C
Raw Blame History

/*
* gpio_init.c
*
* Created on: 4 <20><><EFBFBD><EFBFBD>. 2023 <20>.
* 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.GPACSEL1.bit.GPIO6 = 2;
GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 0;
GpioCtrlRegs.GPAGMUX1.bit.GPIO7 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO7 = 1;
GpioDataRegs.GPADAT.bit.GPIO7 = 0;
GpioCtrlRegs.GPACSEL1.bit.GPIO7 = 2;
GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 0;
GpioCtrlRegs.GPAGMUX1.bit.GPIO10 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO10 = 1;
GpioDataRegs.GPADAT.bit.GPIO10 = 0;
GpioCtrlRegs.GPACSEL2.bit.GPIO10 = 2;
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; // Rele
GpioCtrlRegs.GPCGMUX2.bit.GPIO95 = 0;
GpioCtrlRegs.GPCDIR.bit.GPIO95 = 1;
GpioDataRegs.GPCDAT.bit.GPIO95 = 1;
GpioCtrlRegs.GPCCSEL4.bit.GPIO95 = 2;
GpioCtrlRegs.GPCMUX1.bit.GPIO64 = 0;//FaultPWM
GpioCtrlRegs.GPCGMUX1.bit.GPIO64 = 0;
GpioCtrlRegs.GPCDIR.bit.GPIO64 = 0;
GpioDataRegs.GPCDAT.bit.GPIO64 = 0;
GpioCtrlRegs.GPCCSEL1.bit.GPIO64 = 2;
InputXbarRegs.INPUT4SELECT = 64;//xint1
GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 1;//EQEP
GpioCtrlRegs.GPAGMUX2.bit.GPIO20 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO20 = 0;
GpioDataRegs.GPADAT.bit.GPIO20 = 0;
GpioCtrlRegs.GPACSEL3.bit.GPIO20 = 2;
GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 0;//Temp_in
GpioCtrlRegs.GPAGMUX1.bit.GPIO15 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO15 = 0;
GpioDataRegs.GPADAT.bit.GPIO15 = 0;
GpioCtrlRegs.GPACSEL2.bit.GPIO15 = 2;
InputXbarRegs.INPUT5SELECT = 15;//xint2
//gpio15 - temperature
// 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.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;
}