打印
[STM32F4]

【STM32F429】序列之8 ST官网高精简程序

[复制链接]
2263|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
outstanding|  楼主 | 2014-3-18 15:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 outstanding 于 2014-3-18 17:07 编辑

本节我们将从硬件原理图、软件编写和下载验证3部分来分析,主要是从下面3个方面进行讲解:
1.硬件原理图
2.软件编写
3.下载验证
一、硬件原理图
硬件原理图很简单,在本序列的跑马灯里面就有。这里就不作过多的介绍。
下面主要看的是STM32F4探索套件的LED灯部分的原理图。

从上面的原理可以看见,很简单,只要给一个高电平LED就会亮,这就不多讲了。STM32F4探索套件就是两个用户LED灯,LED3LED4一个位绿色,一个为红色。
二、软件编写
在写程序的时候,首先按一下步骤检查是否已经完备。
1.确保JP3CN4跳线是连接的【Discovery模式】。
2.通过Min USB把开发板和电脑连接,USB供电。
3.通过ST-Link/V2来下载程序。
4.检查USB通讯的LED1灯是否亮,电源灯LED2是否亮(3.3v)
5.以上正常就可以进行下面的工作了。
这个是官网的一个精简的代码,没有使用ST的库,是寄存器操作的,大家可以参考,效率的确很高。不多说,先上主程序,完整程序在附件里面。
#include "STM32F4xx.h"
#include "LED.h"
const unsigned long led_mask[] = {1UL << 13, 1UL << 14};
void LED_Init (void) {
RCC->AHB1ENR  |= (1UL << 6);           /* Enable GPIOG clock             */
        /* Configure LED (PG13, PG148) pins as push-pull outputs */
GPIOG->MODER  &= ~((3UL << 2 * 13) | (3UL << 2 * 14));
GPIOG->MODER  |=   (1UL << 2 * 13) | (1UL << 2 * 14);
GPIOG->OTYPER &= ~((1UL <<     6) | (1UL <<     8));
}
/*----------------------------------------------------------------------------
  Function that turns on requested LED
*----------------------------------------------------------------------------*/
void LED_On (unsigned int num) {
  if (num < LED_NUM) {
    GPIOG->BSRRL = led_mask[num];
  }
}
/*----------------------------------------------------------------------------
  Function that turns off requested LED
*----------------------------------------------------------------------------*/
void LED_Off (unsigned int num) {
  if (num < LED_NUM) {
    GPIOG->BSRRH = led_mask[num];
  }
}
/*----------------------------------------------------------------------------
  Function that outputs value to LEDs
*----------------------------------------------------------------------------*/
void LED_Out(unsigned int value) {
  int i;
  for (i = 0; i < LED_NUM; i++) {
    if (value & (1<<i)) {
      LED_On (i);
    } else {
      LED_Off(i);
    }
  }
}
是不是很精简啊。
三、下载验证



完整程序下载:

ST精简LED灯代码.zip (40 KB)
沙发
sting_yang| | 2014-3-18 19:18 | 只看该作者
谢谢指导:handshake

使用特权

评论回复
板凳
outstanding|  楼主 | 2014-3-18 20:30 | 只看该作者
sting_yang 发表于 2014-3-18 19:18
谢谢指导

:handshake  互相学习 共同进步

使用特权

评论回复
地板
chentongxiong| | 2014-3-31 19:49 | 只看该作者
赞一下楼主

使用特权

评论回复
5
outstanding|  楼主 | 2014-3-31 20:51 | 只看该作者
chentongxiong 发表于 2014-3-31 19:49
赞一下楼主

谢谢  共同提高

使用特权

评论回复
6
wwchang| | 2014-4-1 10:52 | 只看该作者
亮哥。。。

使用特权

评论回复
7
outstanding|  楼主 | 2014-4-1 10:54 | 只看该作者
wwchang 发表于 2014-4-1 10:52
亮哥。。。

:handshake  被你发现了  

使用特权

评论回复
8
yinhaix| | 2015-5-8 17:08 | 只看该作者
赞一下楼主

使用特权

评论回复
9
zh113214| | 2015-5-9 08:05 | 只看该作者
全面细致,深入剖析。。谢谢楼主分享自己的经验啊

使用特权

评论回复
10
outstanding|  楼主 | 2015-5-9 20:41 | 只看该作者
zh113214 发表于 2015-5-9 08:05
全面细致,深入剖析。。谢谢楼主分享自己的经验啊

欢迎常来

使用特权

评论回复
11
小浣熊| | 2015-5-9 21:33 | 只看该作者
可以参考的开发资料。:):)

使用特权

评论回复
12
outstanding|  楼主 | 2015-5-10 17:11 | 只看该作者
小浣熊 发表于 2015-5-9 21:33
可以参考的开发资料。

:P   可以参考参考

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:QQ:2550634286   可接项目和毕设等                   可以出售各种LED灯,控制类产品和                   控制类方案。

378

主题

4015

帖子

11

粉丝