当有信号给单片机输入时,往往是从管脚输入,而我们要知道这个输入值,就必须用到读管脚这个方法。
在实际应用中,输入信号往往不是标准信号(单片机能识别的TTL信号),这就需要经过一系列的电压转换,从而达到单片机能识别的工作电压,这是后话,今天要将的是读管脚值,其步骤如下:
1,设置管脚为输入状态。这需要由指令 IO0DIR = 0x00000000;来实现。
2, 读取管脚值。运用 IO0PIN 寄存器读取,并且需要对应实际运用中的管脚号,如低8位,则可写成:
void Read_Guanjiao( )
{
uint32 bak , temp;
temp = IO0PIN;
bak = temp & 0x00FF;
}
如果是16位,则需要进行一下数据处理,可写成:
void Read_Guanjiao( )
{
uint32 bak , temp;
temp = IO0PIN;
temp = temp & 0x00FF;
bak = IO0PIN & 0xFF00;
bak = temp | bak;
}
取值效果如下图:
32位取值和16位取值算法一样。
注意:本文归作者所有,未经作者允许,不得转载