我的想法是在ad采样程序的基础上,在主函数里加入判断语句,并相应的初始化gpio口。下面贴上主程序:
void main(void)
{
InitSysCtrl(); //初始化系统函数
DINT;
IER = 0x0000; //禁止CPU中断
IFR = 0x0000; //清除CPU中断标志
InitPieCtrl(); //初始化PIE控制寄存器
InitPieVectTable(); //初始化PIE中断向量表
InitPeripherals(); //初始化EV和AD模块
InitGpio();//初始化GPIO口
adclo=0; //通常ADCLO接地
PieCtrl.PIEIER1.bit.INTx6 =1; //使能PIE模块中的AD采样中断
PieCtrl.PIEIER2.bit.INTx4=1; //使能PIE模块中的T1周期中断
IER|=M_INT1; //开CPU中断
IER|=M_INT2;
EvaRegs.T1CON.bit.TENABLE=1; //启动T1计数
EINT; //使能全局中断
ERTM; //使能实时中断
if(adc[1]<32760)
GpioDataRegs.GPBCLEAR.bit.GPIOB1=1;
else
GpioDataRegs.GPBSET.bit.GPIOB1=1;
for(;;)
{
}
}
红字部分是判断语句,使用if else写的,但是结果AD可以采集到数据,但是不会从GPIO口输出信号,想问下大家怎么处理
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>