2184
- 收藏
- 点赞
- 分享
- 举报
关于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
-
2021-01-02 10:23:46
-
2015-03-18 23:38:30
-
2022-03-20 15:49:24
-
2019-08-14 13:52:03
-
2025-04-25 17:00:20
-
2019-05-08 17:55:49
-
2019-02-23 14:33:58
-
2025-07-15 09:51:20
-
2008-10-08 16:46:10
-
2016-04-27 18:29:07
-
2018-06-29 09:20:38
-
2025-01-16 13:32:01
-
2019-01-14 09:40:39
-
2019-03-26 15:47:48
-
2016-07-25 14:58:32
-
2023-02-03 09:18:38
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5hisi3516cv610 + gc4336p 夜晚很模糊
-
5AIISP(功能演示,SC4336P为BGGR,强制转RGGB,会导致颜色异常)
-
5rv1106使用luckfox的SDK,设备树和驱动都写好了,结果设备文件没有生成
-
5海思3516cv610中如何进行SD卡升级,根据官方文档操作,烧录进板子时,走的默认uboot,没有执行uboot升级。
-
5G610Q-IPC-38E 夜晚很暗 有什么办法解决吗 已经补光了
-
10转换模型时,SoC版本里没显示hi3516cv610芯片
-
5hisi3516cv610 使用 yolov8n 模型训练 要如何提高 这里识别的是人
-
10有人在海思平台接过SC035HGS吗
-
5关于hi3519dv500,以SD卡虚拟 U 盘操作
-
5ss928 sample_venc代码移植到openEuler24.03上执行报错 [sample_comm_vi_start_dev]-1068: vi set dev attr failed wi
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认

微信扫码分享
QQ好友