我系统时钟设置的是72M,MCO我也测过PLL2分频也有32M,为啥我模拟SPI一个bit的时钟周期是1us
for(i=0;i<8;i++)
{
GPIO_ResetBits(GPIOD, GPIO_Pin_3)
if(dat&0x80)
GPIO_SetBits(GPIOD, GPIO_Pin_4);
else
GPIO_ResetBits(GPIOD, GPIO_Pin_5)
GPIO_SetBits(GPIOD, GPIO_Pin_3)
dat<<=1;
}
这里一个循环就要1us
IO初始化
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); //使能A端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
GPIO_Init(GPIOD, &GPIO_InitStructure); //初始化GPIOD3,6
GPIO_SetBits(GPIOD,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6);
我来回答