⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 Ti公司DSP开发板DSK6711例程 开发工具CCS3.1
💻 C
字号:
#define BUFSIZE 200
#define MCASize 5
#define NumStates 4

char MyChar;  
short MyShort;
int MyInt;
float MyFloat;
double MyDouble;
struct MyStructDef
{
	char MyChar1;
	short MyShort;
	char MyChar2;
	char MyChar3;
	int MyInt;
	char MyChar4;
	float MyFloat;
	double MyDouble;
	int MyBitField0To2;  
	int MyBitField3To5;
	char MyCharArray[MCASize];
};
struct MyStructDef MyStruct;

int SideB[BUFSIZE];
int SideA[BUFSIZE];
int Sum[BUFSIZE];

int main(void);
void InitSideA(int *SideAPtr);
void InitSideB(int *SideBPtr);
void WatchDog(int Count);
void SumAB(int *SideAPtr, int *SideBPtr, int *SumPtr);
void IfTest(int Value);
int LoopCounter;
void StateTest(int State);

int main(void)
{
int j = 0;

	MyChar = 'a';
	MyShort = 10;
	MyInt = 7;
	MyFloat = 1.2;
	MyDouble = 2.1;
	MyStruct.MyChar1 = 'a';
	MyStruct.MyShort = 10;
	MyStruct.MyChar2 = 'b';
	MyStruct.MyChar3 = 'c';
	MyStruct.MyInt = 7;
	MyStruct.MyChar4 = 'd';
	MyStruct.MyFloat = 1.2;
	MyStruct.MyBitField0To2 = 5;  
	MyStruct.MyBitField3To5 = 3;
	if (MyInt == 6)
	{
		for (j = 0; j < BUFSIZE; j++)
		{
			IfTest(j);
		}
		MyInt = 8;
		// Good point to test chained breakpoints.
		MyInt++;
	}
	if (MyInt == 7)
	{
		for (j = 0; j < BUFSIZE; j++)
		{
			// Should be >=.
			if (j > BUFSIZE / 2)
			{
				j++;
			}
			IfTest(j);
		}
		MyInt = 8;
		// Good point to test chained breakpoints.
		MyInt++;
	}
	for (j = 0; j < MCASize; j++)
	{
		MyStruct.MyCharArray[j] = 'e' + j;
	}
	InitSideA(&SideA[0]);
	MyInt = SideA[0];
	MyInt = SideA[1];
	MyInt = SideA[2];
	InitSideB(&SideB[0]);
	WatchDog(1);
	WatchDog(BUFSIZE);
	SumAB(&SideA[0], &SideB[0], &Sum[0]);
	for (j = 0; j < 3; j++)
	{
		IfTest(j);
	}
	for (j = 1; j < NumStates; j++)
	{
		StateTest(j);
	}
}

void InitSideA(int *SideAPtr)
{
	for (LoopCounter = 0; LoopCounter < BUFSIZE; LoopCounter++)
	{
		SideAPtr[LoopCounter] = LoopCounter;
	}
}

void InitSideB(int *SideBPtr)
{
int i;
// BUFSIZE + 1 is a mistake that causes
// SideA[0] to get overwritten.
	for (i = 0; i < BUFSIZE + 1; i++)
	{
		SideBPtr[i] = i * 2;
	}
}

void SumAB(int *SideAPtr, int *SideBPtr, int *SumPtr)
{
int i;
	for (i = 0; i < BUFSIZE; i++)
	{
		SumPtr[i] = SideAPtr[i] + SideBPtr[i];
	}
}

void WatchDog(int Count)
{
int i;

	for (i = 0; i < Count; i++)
	{
		Sum[i] = SideA[i] + SideB[i];
	}
}

void IfTest(int Value)
{
	if (Value == 0)
	{
		Sum[0] = Value;
		return;
	}
	else
	{
		if (Value >= BUFSIZE / 2)
		{
			Sum[Value - 1] = Value * 2;
			return;
		}
	}
	return;
}

void StateTest(int State)
{
	switch (State)
	{
		case 1:
		{
			State++;
			break;
		}
		case 2:
		{
			State++;
			break;
		}
		case 3:
		{
			State++;
			break;
		}
		case 4:
		{
			State = 1;
			break;
		}
		default:
		{
			State = 1;
			break;
		}
	};
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -