程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> ARM嵌入式編程(無操作系統、基於MDK)之最簡單的程序:點亮一個LED燈

ARM嵌入式編程(無操作系統、基於MDK)之最簡單的程序:點亮一個LED燈

編輯:C++入門知識

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.程序運行效果

 


 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved