cfgrpg

cfgrpg

0个粉丝

7

问答

0

专栏

1

资料

cfgrpg  发布于  2014-03-13 10:48:30
采纳率 0%
7个问答
11785

HI3518 gpio怎么理解?

 
[code]Register        Base Address       
GPIO11        0x201F_0000       
GPIO10        0x201E_0000       
GPIO9        0x201D_0000       
GPIO8        0x201C_0000       
GPIO7        0x201B_0000       
GPIO6        0x201A_0000       
GPIO5        0x2019_0000       
GPIO4        0x2018_0000       
GPIO3        0x2017_0000       
GPIO2        0x2016_0000       
GPIO1        0x2015_0000       
GPIO0        0x2014_0000       
3518c特别说明               
Offset Address        Register        Description
0x000–0x3FC        GPIO_DATA GPIO        data register
0x400        GPIO_DIR        GPIO direction control register
0x404        GPIO_IS        GPIO interrupt trigger register
0x408        GPIO_IBE        GPIO interrupt dual-edge trigger register
0x40C        GPIO_IEV        GPIO interrupt trigger event register
0x410        GPIO_IE        GPIO interrupt mask register
0x414        GPIO_RIS        GPIO raw interrupt status register
0x418        GPIO_MIS        GPIO masked interrupt status register
0x41C        GPIO_IC        GPIO interrupt clear register
[/code]

GPIO_DATA 寄存器利用PADDR[9:2]实现了读写寄存器比特的屏蔽操作。该寄存器对
应256 个地址空间。PADDR[9:2]分别对应GPIO_DATA[7:0],当相应的bit 为高时,则
可以对相应的位进行读写操作;反之,若对应bit 为低则不能进行操作

[code]突然冒出个PADDR来,什么意思呢?
GPIO_DATA 和 GPIO_DIR 怎么对应的?
比如我要算GPIO0_1 GPIO0_2 GPIO0_3 的GPIO_DATAGPIO_DIR 怎么算的?[/code]
我来回答
回答10个
时间排序
认可量排序

hudiiii

0个粉丝

32

问答

0

专栏

0

资料

hudiiii 2014-03-13 13:41:07
认可0
有的管脚是复用的。默认可能就不是GPIO 所以还是要先配置成GPIO模式。 所以就有所谓的PADDR 我是这么理解的。

cfgrpg

0个粉丝

7

问答

0

专栏

1

资料

cfgrpg 2014-03-13 14:57:51
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=6383&ptid=3179]hudiiii 发表于 2014-3-13 13:41[/url]
有的管脚是复用的。默认可能就不是GPIO 所以还是要先配置成GPIO模式。 所以就有所谓的PADDR 我是这么理解的 ...[/quote]

[code]muxctrl_reg1
SDIO_CCLK_OUT 管脚复用控制寄存器。
Offset Address
0x004
Register Name
muxctrl_reg1
Total Reset Value
0x00000000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name reserved
muxctrl_reg
1
Reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Bits Access Name Description
[0] RW muxctrl_reg1
SDIO_CCLK_OUT 管脚的具体复用情况。
0:GPIO1_1;
1:SDIO_CCLK_OUT。
复用的话,是直接设置相关寄存器的值,跟giop的操作没有什么关系吧?[/code]

hudiiii

0个粉丝

32

问答

0

专栏

0

资料

hudiiii 2014-03-13 16:13:57
认可0
PADDR 这个寄存器是有点意思。主要实现硬件上的按位操作。
我们很多的时候去操作寄存器,都是用与 或者 或 操作真个寄存器的I/O。关键还是为了适应它的复用。
打个比方: 你现在有 0x00000001 ,0x00000010,0x00000011,....多个地址。你操作每个不同的地址可以控制的I/O不同,也就是你给Data寄存器赋值,不会影响到其它位。还是为了复用灵活。

hilinux

0个粉丝

17

问答

0

专栏

0

资料

hilinux 2014-03-16 21:28:46
认可0
GPIO_DATA 是读取数据的寄存器,范围0x000-0x3fc,如果直接读取8bit的值那么直接操作0x3fc即可,如果要按位读取的话需要读取寄存器  (1 <<(i + 2))

GPIO_DIR寄存器只需按位操作

silentfire

0个粉丝

1

问答

0

专栏

0

资料

silentfire 2014-04-02 00:33:16
认可0
请问做过网络连通uart通讯么

cfgrpg

0个粉丝

7

问答

0

专栏

1

资料

cfgrpg 2015-10-14 11:46:26
认可0
这个 算理解透了吧,写个通用的驱动,可以横行海思所有平台,可能要针对不同型号稍微改下。
具体见 [url]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=8833&page=1#pid20516[/url]

digibird

1个粉丝

1

问答

0

专栏

0

资料

digibird 2015-10-14 15:08:13
认可0
楼主头像不错

qqq306922360

0个粉丝

16

问答

0

专栏

0

资料

qqq306922360 2016-08-31 10:56:01
认可0
楼主头像真的是很吸引人啊!!!看的蛮爽的!:lol

mhp0114

0个粉丝

0

问答

0

专栏

0

资料

mhp0114 2017-06-15 14:03:44
认可0
刚刚开始学习海思芯片 这个终于搞懂了

qn1511230077

0个粉丝

3

问答

0

专栏

0

资料

qn1511230077 2017-12-01 15:57:46
认可0

楼主头像不错,受教了:lol
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区