可以这样做if(GpioDataRegs.GPBDAT.bit.GPIOB0==1) b=1;else b=0;a[p++]=b;if(p>100)p=0;
如果你的方向寄存器没有设置错误的话,而仍然输出H的话,很可能是由于该IO口的第二功能你没有关闭的原因,你找下它的第二功能确认下。
T1周期中断定时多少时间中断一次?中断服务程序中的P值仿真时看下有没有变化?是不是数组赋值那一块的程序问题?