本帖最后由 thinpadhoho 于 2010-5-19 11:47 编辑
我在调STM32的IIC通讯功能,IIC通讯一切正常,没有问题,但是 void RCC_Configuration(void) 中如果加了 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); IIC通讯就不对了,示波器观察IIC管脚通讯时没有任何变化,怀疑 RCC_AHBPeriph_FSMC 影响了IIC1时钟,看STM32资料,AHB_FSMC 和 APB1_I2C1 两者之间没关系,设置的寄存器一个是 RCC_AHBENR,一个是 RCC_APB1ENR,但是开启了 RCC_AHBPeriph_FSMC, IIC就不行了,关掉了IIC就没问题,这是怎么回事?
void RCC_Configuration(void)
{
/* Setup the microcontroller system. Initialize the Embedded Flash Interface,
initialize the PLL and update the SystemFrequency variable. */
SystemInit();
/* Enable peripheral clocks --------------------------------------------------*/
/* GPIOB Periph clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/* I2C1 and I2C2 Periph clock enable */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
//RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
} |