pic32 模拟端口和数字端口复用设置

pic32的io端口复用比较多,gpio操作的难点在于设置好相关寄存器,把带有模拟信号的端口设置为数字TTL 0 1信号的端口。

这里面需要设置的东西比较多,现在附上一个范例,经验证通过测试。

  
    
// gpio模拟spi
void spi3_init()
{
// set pins
// TRISBSET &= (1<<2);
CM2CON = 0 ; // 模拟比较器关闭
ODCB &= 0xFFF0 ; // RB0~3设置为正常双向口
AD1PCFG |= 0x000F ; // AN0~3设置为数字
LATB |= 0x00F ; // LATB低四位送1,其他不变

TRISBCLR
|= ( 1 << 0 ) | ( 1 << 1 ) | ( 0 << 2 ) | ( 1 << 3 ); // RB2 as input,others as output
SPI3_SELECT();
}

详细设置请参考pic family的datasheet

你可能感兴趣的:(端口)