#include <LPC213X.H>
#include<string.h>
#include <assert.h>
#define uchar unsigned char
#define uint unsigned int
const unsigned char Slave_RecBuff[]={0,1,0};
int main()
{
PINSEL0=0X00000000;
IO0DIR=1<<0|1<<1|1<<2|1<<3;
IO0SET=1<<0|1<<1|1<<2|1<<3;
if(Slave_RecBuff[1] == (~Slave_RecBuff[2])) //未进入
IO0CLR= 1<<0;
else
IO0CLR= 1<<1;
if(Slave_RecBuff[1] == (!Slave_RecBuff[2])) //进入了
IO0CLR= 1<<2;
else
IO0CLR= 1<<3;
}
不知楼主是否解决的问题,1取反为-1,取非为零,一切可有取非代替取反。
下图为lpc2138的仿真图控制高低电平,四个端口分两组0.1和2.3与程序中的两种表达方式进行对比。
|