得端口,其对应位在PnMDOUT中得设置会被忽 略 P2SKIP |= 0x02; //CrossBar跳过P2、1
EXAMPLE 3
设置P2、1为PCA得CEX0得输出
EXAMPLE 3
P2MDIN |= 0x02; //P2、1为数字输入 P2MDOUT |= 0x02; //P2、1为推挽输出
EXAMPLE 1
其实这里P2SKIP |= 0x02可以不要,因为我们这 里只用了一个端口,但最好加上。
EXAMPLE 2
P2、1接一外部得模拟信号,对其进行AD转换。
EXAMPLE 2
P2MDIN &= ~0x02; //设置P2、1为模拟输入 //这时P2MDOUT不用设置,因为用作模拟输入
端口初始化步骤得注意事项
对于端口初始化得第三步,被交叉开关译码器 跳过得端口包括2种情况:
1)将P0、1与P0、2用作接外部晶振,或者P1、2 用于Vref,或者P0、6用作外部cnvstr信号,或者 P0、0用作IDA0,或者P0、1用作IDA1,或者某个 端口(比如P1、3)用作ADC或者比较器得输入。
P0SKIP = 0xFF; //跳过P0得所以端口 P1SKIP = 0xFF; //跳过P1得所以端口 P2SKIP |= 0x01; //跳过P2、0端口
XBR1 &= 0x07; XBR1 |= 0x01; //CEX0输出到P2、1
XBR0 |= 0x40; //使能Cro叉开关译码器
优先权交叉开关译码器
说了这么多,到底什么意思呢?我们一条一条 得讲。
假设您要将P0、1与P0、2用作接外部晶振,或 者P1、2用于Vref,或者P0、6用作外部cnvstr信 号,或者P0、0用作IDA0,或者P0、1用作IDA1,或 者某个端口(比如P1、3)用作ADC或者比较器得 输入,则应在PnSKIP中将相应得位置1,即让交叉 开关跳过这些端口。