740
- 收藏
- 点赞
- 分享
- 举报
关于memmap的使用
新手求帮助
我想控制接在gpio10_6这个引脚上的LED灯,在shell里使用himm是可以控制这个IO口的电平的,但是我参照himm的源码写了一个简单的测试程序怎么也点不亮...代码如下,麻烦各位帮忙看看谢谢了
int main(void)
{
int fd;
unsigned int *addr = NULL;
// fd = open("/dev/mem", O_RDWR | O_SYNC);
// if (fd < 0)
// {
// printf("open mem dev error\r\n");
// return -1;
// }
// addr = mmap((void *)0, 0x4000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x201E0000);
// if (addr == MAP_FAILED)
// {
// printf("remap error\r\n");
// return -1;
// }
// close(fd);
addr = memmap(0x201E0000, 0x4000);//gpio10的地址为0x201e0000
printf("gpio base: 0x%-8x\r\n", addr);
*(unsigned int*)(addr + 0x400) = 0x40;//配置gpio10_6为输出
unsigned int i;
while (1)
{
*(unsigned int*)(addr + 0x100) = 0x40;//输出高电平
printf("1\r\n");
i = 0;
while (++i < 0xFFFFFF);
*(unsigned int*)(addr + 0x100) = 0x00;
printf("0\r\n");
i = 0;
while (++i < 0xFFFFFF);
}
return 0;
}
我想控制接在gpio10_6这个引脚上的LED灯,在shell里使用himm是可以控制这个IO口的电平的,但是我参照himm的源码写了一个简单的测试程序怎么也点不亮...代码如下,麻烦各位帮忙看看谢谢了
int main(void)
{
int fd;
unsigned int *addr = NULL;
// fd = open("/dev/mem", O_RDWR | O_SYNC);
// if (fd < 0)
// {
// printf("open mem dev error\r\n");
// return -1;
// }
// addr = mmap((void *)0, 0x4000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x201E0000);
// if (addr == MAP_FAILED)
// {
// printf("remap error\r\n");
// return -1;
// }
// close(fd);
addr = memmap(0x201E0000, 0x4000);//gpio10的地址为0x201e0000
printf("gpio base: 0x%-8x\r\n", addr);
*(unsigned int*)(addr + 0x400) = 0x40;//配置gpio10_6为输出
unsigned int i;
while (1)
{
*(unsigned int*)(addr + 0x100) = 0x40;//输出高电平
printf("1\r\n");
i = 0;
while (++i < 0xFFFFFF);
*(unsigned int*)(addr + 0x100) = 0x00;
printf("0\r\n");
i = 0;
while (++i < 0xFFFFFF);
}
return 0;
}
我来回答
回答3个
时间排序
认可量排序
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2016-07-01 18:46:58
-
2017-03-03 15:04:26
-
2013-02-01 10:06:46
-
2015-03-18 23:38:30
-
2019-08-14 13:52:03
-
2019-05-08 17:55:49
-
2019-02-23 14:33:58
-
2008-10-08 16:46:10
-
2016-04-27 18:29:07
-
2018-06-29 09:20:38
-
2019-01-14 09:40:39
-
2019-03-26 15:47:48
-
2016-07-25 14:58:32
-
2020-07-13 18:02:37
-
52015-07-29 12:15:10
-
2019-04-02 00:06:46
-
2016-03-17 21:46:24
-
2014-09-23 09:14:18
-
2017-06-19 19:15:28
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认