6080|16

63

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

GPIO操作问题 [复制链接]

STM32在使用过程中发现对GPIO进行操作时我用GPIOA的低8位模拟一个总线8位,但我使用函数GPIO_Init时发现这个函数运行时间相当长。
     GPIO_InitStructure.GPIO_Pin = 0x00ff;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
  因为我这个应用中要大量的调用这个函数,它已经成为我提供运行速度最大的瓶颈,我CPU工作频率是72M。但我用下面这个代替却不好用,我不知道是为什么,
  GPIOA->CRL=0x33333333;
  如果不想用GPIO_Init(GPIOA, &GPIO_InitStructure);这个函数想直接对寄存器操作该如何实现?
望各位大侠给指指出路,谢谢!!
此帖出自stm32/stm8论坛

最新回复

                                 (void*) (unsigned long *)(ADD) 直接写寄存器  详情 回复 发表于 2010-9-27 20:18
点赞 关注
 

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我这样用
void DATA_BUS_OUT(u8 DataBus)
{
    //GPIO_Write(GPIOC,DataBus);
      GPIOC->ODR &= 0XFF00;
      GPIOC->ODR |= DataBus;
}
不知道楼主 能懂不 简单的与 或 应该不是问题吧
以GPIOC为例
此帖出自stm32/stm8论坛
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 为什么“GPIOA->CRL=0x33333333;”不好用?
此帖出自stm32/stm8论坛
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
3楼 你看了 编程手册吗? CRL 是什么?
端口配置低寄存器(GPIOx_CRL) (x=A..E)
端口配置高寄存器(GPIOx_CRH) (x=A..E)
只是一个配置寄存器 配置输入IO的  
你拿来做为输出数据寄存器吗? 别闹笑话哈
此帖出自stm32/stm8论坛
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

5
 
楼主如何发现函数GPIO_Init运行时间相当长?多长时间?

还有,我不明白什么样的应用中,要大量的调用这个函数?
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

6
 
呵呵,初始化要频繁调用吗?
频繁调用的应该是I/O设置语句吧?
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 连版主都想不出来的应用场合?楼主给说明一下应用场合吧
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 楼主得好好思考一下版主提的问题,或许会有帮助的
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 


回4楼,我只是从09年1月才开始看数据手册的,菜鸟一个,让您老笑话了,实在是不好意思。
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

10
 
                                 楼主失踪了? 乘火箭飞了?
此帖出自stm32/stm8论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 估计是看球去了
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

12
 
                                 不知楼主啥时候能回来
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

13
 
楼主如何发现函数GPIO_Init运行时间相当长?多长时间?

还有,我不明白什么样的应用中,要大量的调用这个函数?
在某个IO口需要不断切换输入与输出模式时
此帖出自stm32/stm8论坛
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

14
 
                                 路过,看过,想过,正在做。。
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

15
 
                                 楼主,版主叫你回来回答问题!
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

16
 
                                 估计楼主在看球赛时突来灵感,把问题解决了,忘记结贴了
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

17
 
                                 (void*) (unsigned long *)(ADD) 直接写寄存器
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表