5071|2

384

帖子

2

TA的资源

纯净的硅(初级)

楼主
 

从51入门STM32----第二步:GPIO使用---点亮LED灯 [复制链接]

继续 从51入门STM32----第一步:新建自己的工程 移植固件库
第二步:GPIO使用---点亮LED灯
1。首先对STM32的系统结构稍微了解一下
2。其次对STM32的存储器结构了解一下,图见编程手册中文28页 存储器映射
      最好再看一下英文的  英文的更详细
      比如说STM32F103C8  有64K Flash 和 20K SRAM
      其中64K  Flash的地址空间为: 0x8000 0000 --- 0x8000 FFFF
             20K SRAM的地址空间为: 0x2000 0000 --- 0x2000 5000
3。大概了解一下STM32的时钟配置,在《糊里糊涂学STM》中讲到 使用SystemInit()简单的配置系统时钟
     在使用固件库带的例程(GPIO的例程)的话,
     /*!< At this stage the microcontroller clock setting is already configured, 
       this is done through SystemInit() function which is called from startup
       file (startup_stm32f10x_xx.s) before to branch to application main.
       To reconfigure the default setting of SystemInit() function, refer to
       system_stm32f10x.c file
     */
      系统时钟已经在startup_stm32f10x_xx.s中进行了配置,因此目前可以先不配置。
4。对STM32的GPIO了解一下
     详细查看中文编程手册,还有模电、数电知识,本人学术浅薄,也搞的不深入。
     最后开始编程,配置GPIO引脚,就可以点亮LED灯了。
  1. GPIO_InitTypeDef GPIO_InitStructure;
    int tmp_val = 0;

    /* Configure the system clocks */
    SystemInit();
    RCC_Configuration();

    //使能APB2总线外设时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); //关闭调试 端口重新映射

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init(GPIOB, &GPIO_InitStructure);
    GPIO_Write(GPIOB , 0xFFFF);
    while (1)
    {
    GPIO_Write(GPIOB , ~tmp_val);
    Delay(0x2FFFFF); // 延时
    Delay(0x2FFFFF); // 延时
    tmp_val++;
    if(tmp_val == 0x100) tmp_val = 0;
    }
复制代码

此帖出自stm32/stm8论坛

最新回复

很好,楼主再接再厉啊  详情 回复 发表于 2012-3-10 19:53
点赞 关注
 

回复
举报

384

帖子

2

TA的资源

纯净的硅(初级)

沙发
 

1.jpg (69.89 KB, 下载次数: 0)

1.jpg
此帖出自stm32/stm8论坛
 
 

回复

61

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
很好,楼主再接再厉啊
此帖出自stm32/stm8论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表