181 lines
4.6 KiB
C
181 lines
4.6 KiB
C
/*
|
||
* 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;
|
||
}
|