VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1750|回复: 1

访问I/O的函数inl()与readl()的区别

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-22 19:40:01 | 显示全部楼层 |阅读模式
请问,linux下访问32位的I/O端口用函数unsigned inl(unsigned port);
而我在有些书上看到,访问直接映射的 I/O 内存区时用函数unsigned readl(address);
有些晕,这两个函数有什么不同呢?大虾帮忙解决一下哦!
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-6 12:30:01 | 显示全部楼层
功能:

从内存映射的I/O空间读数据。

Readb()从I/O读取8位数据(1个字节)

Readw()从I/O读取16位数据(2个字节)
Readl()从I/O读取8位数据(4个字节)

原型:

#include <asm/io.h>

Unsigned char readb(unsigned int addr)

Unsigned char readw(unsigned int addr)

Unsigned char readl(unsigned int addr)

变量

Addr 是I/O地址

返回值:从I/O空间读取的数值。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

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