最近希望用28335实现AND闸的功能
但找不到方法 以下是我的代码
--------------------------------------------------------------------------------------------------------------
#include "DSP28x_Project.h" // Device Headerfile and Examples Include File
int input1;
int input2;
unsigned int result;
void main(void)
{
// Step 1. Initialize System Control
InitSysCtrl();
EALLOW;
#if(CPU_FRQ_150MHZ) //Default 150MHZ SYSCLKOUT
#define ADC_MODCLK 0x3; //HSPCLK = SYSCLKOUT/(2*ADC_MODCLK) = 150/(2*3) = 25MHZ
#endif
#if(CPU_FRQ_100MHZ) //Default 150MHZ SYSCLKOUT
#define ADC_MODCLK 0x2; //HSPCLK = SYSCLKOUT/(2*ADC_MODCLK) = 100/(2*2) = 25MHZ
#endif
EDIS;
EALLOW;
SysCtrlRegs.HISPCP.all = ADC_MODCLK; //Define ADC clock frequency
EDIS;
//step2 : initialize GPIO pins
EALLOW;
//==========================================================
//==========================================================
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0; // AND闸輸入
GpioCtrlRegs.GPADIR.bit.GPIO6 = 0; // GPIO输入
GpioCtrlRegs.GPAPUD.bit.GPIO6 = 1 ;
GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 0; // AND闸輸入
GpioCtrlRegs.GPADIR.bit.GPIO7 = 0; // GPIO输入
GpioCtrlRegs.GPAPUD.bit.GPIO7 = 1 ;
GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 0; // AND闸輸出
GpioCtrlRegs.GPADIR.bit.GPIO8= 1; // GPIO输出
GpioCtrlRegs.GPAPUD.bit.GPIO8 = 1;
EDIS;
for(;;)
{
input1 = GpioDataRegs.GPADAT.bit.GPIO6; // AND闸輸入
input2 = GpioDataRegs.GPADAT.bit.GPIO7; // AND闸輸入
result = input1 & input2; // AND闸輸出
GpioDataRegs.GPADAT.bit.GPIO8 = result;
}

如图是我从28335产生出两个300kHz的方波输入至GPIO6 GPIO7
但是输出GPIO8是错的