本帖最后由 一切会如旧 于 2014-7-11 10:51 编辑
程序如下:就是在四个脚上输出方波
为什么只有5脚和8脚输出了方波,而3脚一直是低电平,4脚一直是高电平?
#include "delay.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x.h"
#include"stm32f10x_rcc.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStruct; //定义用于初始化GPIO脚的数据结构
RCC_HSICmd(DISABLE); //禁止内部高速时钟
delay_init(); //延时函数初始化
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //使能APB2外设高速时钟
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_8; //选择要初始化的引脚
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP; //选择输出方式
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_2MHz; //选择最大输出速度
GPIO_Init(GPIOB,&GPIO_InitStruct); //初始化所选的引脚:PB3/PB4/PB5/PB8
while(1) //输出方波
{
GPIO_SetBits(GPIOB,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_8); //4个脚置1
delay_ms(200); //延时200ms
GPIO_ResetBits(GPIOB,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_8); //4个脚置0
delay_ms(200); //延时200ms
}
}
|