使用了下STM32F10X的固件库,操练了下最简略的端口使用,看来仍是很便利的。
/******************** GPIO使用********************
stm32库文件使用—GPIO
芯片型号:STM32F103V
引脚: LED->GPIOC_Pin_6
编写日期:2012年3月20日
作者: 郑文
作用: LED一闪一闪
*/
#include “stm32f10x_conf.h”
#include “stm32f10x.h”
GPIO_InitTypeDef GPIO_InitStructure; //声明一个结构体
void RCC_Configuration(void); //时钟装备
void delayms(unsigned int count);//延时程序
/////////主程序//////////////
int main(void)
{
RCC_Configuration(); //体系时钟装备
RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1 |RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD |
RCC_APB2Periph_GPIOE, ENABLE);//使能各部分时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //引脚6选中
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最高输出速率50M
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //复用推挽输出
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化装备GPIO_C
while (1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_6);// LED1亮
delayms(1000);
GPIO_ResetBits(GPIOC, GPIO_Pin_6);//LED1灭
delayms(1000);
}
}
////////////子程序//////////////////
void RCC_Configuration(void)
{
/* Setup the microcontroller system. Initialize the Embedded Flash Interface,
initialize the PLL and update the SystemFrequency variable. */
SystemInit();
}
/*************延时程序***************/
void delayms(unsigned int count)
{
unsigned int i,j;
for(i=0;i
}