|
本帖最后由 zhou__mi 于 2020-6-22 19:12 编辑
程序代码:
// 实验程序分为3个部分或者说3个步骤:
//(1)RCC_Configuration 函数使能外设GPIO PORTC时钟;
//(2)GPIO_Configuration函数设置PC6为50MHz推挽输出;
//(3)GPIO_ResetBits库函数设置PC6输出低电平0,熄灭与PC6连接的LED1,
// GPIO_SetBits 库函数设置PC6输出高电平1,点亮与PC6连接的LED1。
/***************************************************************************
* File Name : main.c
* Author : Zhou_yinxiang, 1881003@qq.com,CDUESTC
* Date First Issued : 03/08/2014
* Description : 点亮 或 熄灭 与PC6连接的LED1
使用ST的库函数,MDK4.7,最简RCC配置,在AS-05(STM32-SS),AS-07,PROTEUS上验证通过
****************************************************************************/
/* Includes ---------------------------------------------------------------*/
#include "stm32f10x_lib.h"//包含头文件
/* Private function prototypes --------------------------------------------*/
void RCC_Configuration(void);//函数声明
void GPIO_Configuration(void);//函数声明
/* Private functions ------------------------------------------------------*/
/***************************************************************************
* Function Name : main
* Description : Main program.
* Input : None
* Output : None
* Return : None
****************************************************************************/
int main(void)//main函数,在STM32F10x.s里,设置IMPORT __main为程序的入口
{
/* Configure the system clocks */
RCC_Configuration();//调用设置系统时钟函数
/* Configure the GPIO ports */
GPIO_Configuration();//调用设置GPIO端口函数
while(1)
{
//GPIO_ResetBits(GPIOC, GPIO_Pin_6); //PC6输出低电平,熄灭LED1
GPIO_SetBits(GPIOC, GPIO_Pin_6); //PC6输出高电平,点亮LED1
}
}
/***************************************************************************
* Function Name : RCC_Configuration
* Description : Configures the different system clocks.
* Input : None
* Output : None
* Return : None
***************************************************************************/
void RCC_Configuration(void)//设置系统时钟函数
{
/* Enable GPIOA clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//使能GPIOC的时钟
}
/**************************************************************************
* Function Name : GPIO_Configuration
* Description : Configures the different GPIO ports.
* Input : None
* Output : None
* Return : None
***************************************************************************/
void GPIO_Configuration(void)//设置GPIO端口函数
{
GPIO_InitTypeDef GPIO_InitStructure;//GPIO_InitStructure是GPIO_InitTypeDef结构体
/* Configure PC6 as Output push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//结构体成员GPIO_Pin赋值
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//结构体成员GPIO_Speed赋值
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//结构体成员GPIO_Mode赋值
GPIO_Init(GPIOC, &GPIO_InitStructure);//按照上面赋值的结构体初始化GPIOC端口,
//就是设置PC6为速度是50MHz的推挽(推拉)输出工作模式
}
/**************** (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/
|
|