OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3310|回复: 1

小白分享直接操作寄存器代码

[复制链接]

29

主题

73

帖子

0

精华

高级会员

Rank: 4

积分
511
金钱
511
注册时间
2015-10-11
在线时间
102 小时
发表于 2017-5-14 21:47:38 | 显示全部楼层 |阅读模式
别的话就不说了,直接上代码了。

#include "sys.h"

//ALIENTEK ì½Ë÷ÕßSTM32F407¿a·¢°å êμÑé4
//′®¿úí¨DÅêμÑé  
//¼¼êõÖ§3Ö£owww.openedv.com
//1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«
#define        GPFMOD                (*(volatile unsigned long *)0x40021400)
#define        GPFODR                (*(volatile unsigned long *)0x40021414)
#define GPFBSRR     (*(volatile unsigned long *)0x40021418)
#define AHB1ENABLE     (*(volatile unsigned long *)0x40023830)
#define        GPF9_out        (1<<(9*2))
#define        GPF10_out        (1<<(10*2))
void  wait(volatile unsigned long dly)
{
        for(; dly > 0; dly--);
}
int main(void)
{      
         Stm32_Clock_Init(336,8,2,7);//éè&#214;&#195;ê±&#214;ó,168Mhz                   
         AHB1ENABLE|=0x0020;
         GPFMOD=GPF9_out|GPF10_out;
        while(1)
        {  
      GPFBSRR=0x00000600;       
          wait(10000000);
          GPFBSRR=0x06000000;       
          wait(10000000);
        }
}

如此就能实现原子哥讲的跑马灯的实验了
我有一个不明白的问题,不是说M4内核差不多是一点几MIPS的速度吗,但是为什么执行延时时的速度这么快,我可是写了1000万啊,但是一秒钟循环一次啊,这么快,按理说应该是10多秒执行一个循环啊,为什么这么快


















正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

73

帖子

0

精华

高级会员

Rank: 4

积分
511
金钱
511
注册时间
2015-10-11
在线时间
102 小时
 楼主| 发表于 2017-5-15 19:51:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-9-23 22:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表