ARM嵌入式编程(无操作系统、基于MDK)之最简单的程序:点亮一个LED灯
2012-11-02 10:59
190 查看
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文件的内容如下:
4.程序运行效果
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文件的内容如下:
/** ****************************************************************************** * @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); }
4.程序运行效果
相关文章推荐
- 基于arm的一个简单的led驱动
- gcc编译编写ARM最简单的c程序_S3C2440点亮LED
- 一个基于PXA255嵌入式系统的简单24位图片读取输出程序
- 基于ARM 的led循环点亮C程序
- 网络编程与多线程的应用--基于socket udp编写一个简单聊天程序
- 网络编程学习笔记二(实现一个基于简单TCP的用户注册程序)
- 一个简单的arm 裸机程序
- 一个基于mini2440的测试按键与led灯的测试程序
- 自己动手弄基于QT5和directx11的简单粒子编辑器v0.1(一个编辑器,一个更新器,一个linux服务端程序)
- 一个简单的时间片轮转多道程序内核操作系统工作流程
- 基于WinCE的一个简单的流程序驱动模板
- arm-linux 学习(1)点亮第一个led程序
- 在MFC下使用OpenGL的一个简单的例子(基于单文档程序)
- 基于ARM的简单的嵌入式web服务器(ucos-ii)中文
- 简单编程(三)编写一个程序,要求用户输入两个整数,然后计算并输出他们的和、差、积、商。
- 使用面向对象的编程思想写一个简单的控制台计算器程序,放松一下
- MSP430F1612 第一个程序,点亮一个LED灯
- 《一步一步写嵌入式操作系统——ARM编程方法与实践》(第一章、第二章)读书笔记
- 基于JUnit 3.8 的一个简单的测试程序
- Linux操作系统的简单指令及如何使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。