4170|9

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

gpio的用法!? [复制链接]

不知stm32的io如何配置成8位总线?
比如pa1-pa8,用哪个函数?
此帖出自stm32/stm8论坛

最新回复

                                 学习了!  详情 回复 发表于 2010-12-11 16:31
点赞 关注
 

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
STM32只有高端的才有外部总线。
一般的LCD屏、8位SRAM等速度要求不高的总线器件,是可以用GPIO来模拟8位总线的。
函数得自己写,呵呵。
此帖出自stm32/stm8论坛
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢2楼的回答!
但找固件库中gpio操作的
GPIO_Write();只能16bit
GPIO_WriteBit()只能某几个bit位同时置位或清零
那我8位总线不如要输出:0x55
难道是:
GPIO_WriteBit(GPIOA,GPIO_1|GPIO_3|GPIO_5|GPIO_7,Bit_RESET)
GPIO_WriteBit(GPIOA,GPIO_2|GPIO_4|GPIO_6|GPIO_8,Bit_SET)
此帖出自stm32/stm8论坛
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

4
 
No,这个不能用固件库了。
要用BitBand进行加速。再利用GPIOx_BSRR寄存器的特性,同时完成对需要的8个IO进行清零/置位。
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

5
 
                                 能否详细指教了?
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
如果要图方便的话,可以直接对ODR寄存器操作。

以操作PA0~PA7为例,如果PA8~PA15是输入模式,则可以直接输出数据:
    GPIOA->ODR = data;

如果PA8~PA15中有端口为输出模式,则需要先读出这些端口的状态再输出:
    GPIOA->ODR = (data & 0xFF) | (GPIOA->ODR & 0xFF00);
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 学习中。。。
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 


心情特好的时候,我或许可以贡献一下偶的模拟8bit总线(虽然也没啥宝贝的,不过总归是源码是不、、、)。充分利用了STM32的优点。
驱动LCD模块啥的,速度还挺般配的,哈哈。
得益于ARM贡献的Cotex-M3和ST贡献的STM32,都是精品呀。
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
如果要图方便的话,可以直接对ODR寄存器操作。

以操作PA0~PA7为例,如果PA8~PA15是输入模式,则可以直接输出数据:
    GPIOA->ODR = data;

如果PA8~PA15中有端口为输出模式,则需要先读出这些端口的状态再输出:
...
如果楼主肯再研究研究BSRR的话,会发现这样写也是可以的,速度会更快一点
GPIOA->BSRR = ((u32)0xFF<<16) | data
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(中级)

10
 
                                 学习了!
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【回帖赢京东卡】说说无线技术那些事儿
即日起—2月28日,参与回帖讨论都有机会赢取【30元京东卡】

查看 »

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