你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32学习日记之简单的IO口的操作

[复制链接]
大浪10010 发布时间:2015-3-11 16:19
终于开始系统学习STM32了,以前偶尔看一眼,总是不能坚持,总是这样那样的借口,向后推迟,但始终在俺强大的内心深沟里,想学它。9 t* F% L! Q& s: y9 ]3 D
    废话少说,这就开干了,用的MDK做开发环境。, N; K' K+ j+ z8 [2 E  e
    先学简单的IO口的操作,这可是入门的很重要的一步,不学好打击积极性。! G# e) j( g4 g5 f  z
    GPIO->ODR 这是我第一次见到这样的书写方式,决定百度一下。 5 U3 e1 M, _% D0 `+ V5 j
       GPIO->ODR是32位的输出数据寄存器(高16位保留,低16为依次对应某个GPIO口的16个引脚)。对ODR赋值是一次操作16位的,也就是同时设置了16个引脚的输出电平;而GPIO_PIN是指某个端口的具体某一个引脚,是位操作,可以通过设置BSRR或BRR寄存器来设置某一特定引脚的输出电平,而保持其他引脚输出不变,速度快,效率高。具体可以看看stm32参考手册关于GPIO寄存器的说明#include <stm32f10x_lib.h>                        // STM32F10x Library Definitions
8 {4 T" Z" b% \/ z0 d#include "STM32_Init.h"                           // STM32 Initialization, c+ g4 Y4 f0 q# `3 Y

: }! j. o6 \6 |6 l; ~
3 x( D$ j7 g* K: x: _& |9 u! p! k
#define LED  ( 1 << 5 )                // PB5: LED D2+ p8 N5 \, Q3 e3 ?- U
9 x7 A* T5 Y2 t7 d

% G$ V  K0 X+ I+ {1 u) B4 P
- c, b: V7 @! Z/ u5 c8 g
# ]1 y, u* V6 i! ^0 e+ L
void Delay(vu32 nCount) {
& a+ Y: m$ F$ ]2 J  for(; nCount != 0; nCount--);4 A# B6 _1 @9 s) Z; _) Y
  }
* K: T* Z, P0 x, D4 L
3 M2 j- ]+ \# N* U

% h6 I# }) J3 g+ b* n  |3 }2 O, i) L0 H# K

* t9 M8 f3 `( _3 W% Fint main (void) {
. F3 c. j3 {. C8 O1 U  stm32_Init ();                                  // STM32 setup2 ]- u  R. R1 C" M0 d/ ^, g' F
  for(;;) {5 k7 w" V3 d6 H% k% V9 z1 L
    //GPIOB->ODR &= ~LED;2 [+ Z3 j4 R# B& Q$ q$ i
//我将/GPIOB->ODR &= ~LED;换成了GPIOB->BRR = GPIO_Pin_5;显示效果不变
. F! j  l# q5 M# ]! @        GPIOB->BRR = GPIO_Pin_5;                            // switch on LED
: @% o! N3 d" Z! w! ~        Delay(2000000);
  [5 a# a( P- a- y4 i    //GPIOB->ODR |=  LED;                           // switch off LED8 b! N7 m+ U. e" Z' N* K3 C
    GPIOB->BSRR = GPIO_Pin_5;; Z" ~* b. z5 m
        Delay(2000000);' g: ^9 l; z! c) q8 a- n
    }
& _4 T8 l6 j: W, G8 _* P  }
9 z6 S, m4 w3 Q9 \9 M      , j+ Q7 Y/ y. ^5 _8 }. _+ ?+ |6 j+ f
   1 m8 K7 O/ R5 i) A# E9 A# t
/ X& X6 Q+ \7 D. @: t
收藏 评论10 发布时间:2015-3-11 16:19

举报

10个回答
大浪10010 回答时间:2015-3-11 16:20:51
希望大神带我飞,,
1407W 回答时间:2015-3-11 16:25:03
谢谢楼主分享 我也会点灯了
kqh1120 回答时间:2015-3-11 16:25:46
谢谢分享。学习了啊 12.gif
大浪10010 回答时间:2015-3-11 16:28:44
我只是初学者,,
拼命三郎 回答时间:2015-3-11 16:59:06
xxxx.png
loyi 回答时间:2015-3-12 09:07:12
good job
_ilikerome_ 回答时间:2015-3-12 09:28:24
LZ代码整理下,好乱
bit 回答时间:2015-3-12 09:32:03
星星点灯了
黄小狼 回答时间:2015-3-12 13:47:56
三狼总是学习学习的,嘿嘿
wu1169668869 回答时间:2015-3-12 13:59:55
就爱这么简洁的风格

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版