1.設計要求
EM-STM3210E開發板上有一個LED燈D1,編寫程序點亮該燈。
2.硬件電路連接
在開發板上,D1與STM32F103ZE芯片上的引腳PF6相連,如下圖所示。
3.軟件程序設計
根據任務要求,程序內容主要包括:
1、配置Reset and clock control (RCC)以使能GPIOF端口模塊的時鐘
2、配置GPIOF端口的PF6引腳(50MHz,推挽輸出)
3、調用STM32標准固件庫函數GPIO_WriteBit以令PF6引腳輸出高電平,從而點亮LED燈D1。
整個工程用戶只需要實現源代碼文件:main.c,其他工程文件由MDK和STM32標准固件庫提供。
main.c文件的內容如下:
[cpp]
/**
******************************************************************************
* @file main.c
* @author Max Liao
* @version
* @date 02-Novenber-2012
* @brief Main program body
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
GPIO_InitTypeDef GPIO_InitStructure;
/* Private function prototypes -----------------------------------------------*/
void RCC_Configuration(void);
void GPIO_Configuration(void);
/* Private functions ---------------------------------------------------------*/
/**
* @brief Main program.
* @param None
* @retval None
*/
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
/* PF6引腳輸出高電平,點亮EM-STM3210E開發板上的LED燈D1 */
GPIO_WriteBit(GPIOF, GPIO_Pin_6, Bit_SET);
/* Infinite loop */
while (1) {
}
}
void RCC_Configuration(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);
}
void GPIO_Configuration(void)
{
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽輸出
GPIO_Init(GPIOF, &GPIO_InitStructure);
}
[cpp]
4.程序運行效果