找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1389|回复: 0
打印 上一主题 下一主题
收起左侧

实验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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表