I2C驱动上拉下拉问题?
GPBPUD 位描述
GPB[n] [2n+1:2n]
n=0~6
00=禁止上拉/下拉
01=下拉使能
10=上拉使能
11=保留
可是我看I2C初始化的时候确是这样写的
void InitializeGPIOPort(void)
{
// set SCL
g_pGPIOReg->GPBCON = (g_pGPIOReg->GPBCON & ~(0xf<<20)) | (0x2<<20);
// set SDA
g_pGPIOReg->GPBCON = (g_pGPIOReg->GPBCON & ~(0xf<<24)) | (0x2<<24);
// set SCL pull-up
g_pGPIOReg->GPBPUD = (g_pGPIOReg->GPBPUD & ~(0x3<<10)) | (0x0<<10);
// set SDA pull-up
g_pGPIOReg->GPBPUD = (g_pGPIOReg->GPBPUD & ~(0x3<<12)) | (0x0<<12);
}
这明明是是写的00呀,但是程序注释确是写的上拉,不过I2C从硬件上讲确实是应该有上拉的,迷糊了.....