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

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

[复制链接]
大浪10010 发布时间:2015-3-11 16:19
终于开始系统学习STM32了,以前偶尔看一眼,总是不能坚持,总是这样那样的借口,向后推迟,但始终在俺强大的内心深沟里,想学它。
    废话少说,这就开干了,用的MDK做开发环境。
    先学简单的IO口的操作,这可是入门的很重要的一步,不学好打击积极性。
    GPIO->ODR 这是我第一次见到这样的书写方式,决定百度一下。
       GPIO->ODR是32位的输出数据寄存器(高16位保留,低16为依次对应某个GPIO口的16个引脚)。对ODR赋值是一次操作16位的,也就是同时设置了16个引脚的输出电平;而GPIO_PIN是指某个端口的具体某一个引脚,是位操作,可以通过设置BSRR或BRR寄存器来设置某一特定引脚的输出电平,而保持其他引脚输出不变,速度快,效率高。具体可以看看stm32参考手册关于GPIO寄存器的说明#include <stm32f10x_lib.h>                        // STM32F10x Library Definitions
#include "STM32_Init.h"                           // STM32 Initialization


#define LED  ( 1 << 5 )                // PB5: LED D2




void Delay(vu32 nCount) {
  for(; nCount != 0; nCount--);
  }




int main (void) {
  stm32_Init ();                                  // STM32 setup
  for(;;) {
    //GPIOB->ODR &= ~LED;
//我将/GPIOB->ODR &= ~LED;换成了GPIOB->BRR = GPIO_Pin_5;显示效果不变
        GPIOB->BRR = GPIO_Pin_5;                            // switch on LED
        Delay(2000000);
    //GPIOB->ODR |=  LED;                           // switch off LED
    GPIOB->BSRR = GPIO_Pin_5;
        Delay(2000000);
    }
  }
      
   

收藏 评论10 发布时间:2015-3-11 16:19

举报

10个回答
大浪10010 回答时间:2015-3-11 16:20:51
希望大神带我飞,,
1407W 回答时间:2015-3-11 16:25:03
谢谢楼主分享 我也会点灯了
zfz0122 回答时间: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
三狼总是学习学习的,嘿嘿
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

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