如何读取arm9 gpio脚位的高低电平?

发布于 2022-09-21 01:19:53 字数 97 浏览 12 评论 0

你好,
   cpu使用的是ks8695x,需要读取gpio4脚位的高低电平,请问有什么函数可以读取其脚位的电平,是不是先要设置输出方向等等的,函数是什么?谢谢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

孤独岁月 2022-09-28 01:19:53

看datasheet

随心而道 2022-09-28 01:19:53

找了好几天,只找到一些寄存器,0xe604 0xe600 0xe608这三个控制,

#define KS8695_READ_REG(offset) (*(volatile u_int *)((void *)IO_ADDRESS(KS8695_IO_BASE) + offset))

int main(void)
{
        unsigned int uReg=0;
        uReg = KS8695_READ_REG(0xE604);
        return 0;
}

编译执行后老出现
Segmentation fault

麻烦大大们指点一下。谢谢

国粹 2022-09-28 01:19:53

你是跑在linux下吗?有MMU的CPU,并且开启了MMU功能.那么就应该写个驱动来想办法访问这些地址,而直接在应用程序使用这些地址自然会导致"段错误".

痴骨ら 2022-09-28 01:19:53

嵌入式arm9的芯片,arm922t的,有mmu。看过一些资料说用这三个函数就可以了,但编译不过。google也找不到这几个函数。
GPIO_set_controller(...)//配置GPIO方向,功能
GPIO_set_value(...)//配置某个GPIO的高低电平
GPIO_get_level(...)//读取某个GPIO的引脚电平
uboot里有些程序,但找不到相关说明。
“.那么就应该写个驱动来想办法访问这些地址,”能详细点吗?谢谢。

不弃不离 2022-09-28 01:19:53

驱动怎么写......并不是我说几句你就可以写出来的

聚集的泪 2022-09-28 01:19:53

你这个只能在用户空间使用, 一般处理器的配置空间都映射在内核空间中,所以你执行会出那个问题
你的没有问题, 将代码写到内核模块中即可以读了.

在内核中注意基址寄存器, 是否配置空间从 KS8695_IO_BASE 的宏开始的,好运~

对风讲故事 2022-09-28 01:19:53

samsung
是:
s3c2410_gpio_getpin

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文