标题: 实验4-2 GPIO_Test_2 [打印本页]

作者: zhou__mi    时间: 2018-11-18 13:50
标题: 实验4-2 GPIO_Test_2
本帖最后由 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****/


实验4-2 GPIO_Test_2.rar

497.06 KB, 下载次数: 7, 下载积分: 黑币 -5






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1