2019
- 收藏
- 点赞
- 分享
- 举报
关于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. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2017-03-03 15:04:26
-
2016-07-01 18:46:58
-
2013-02-01 10:06:46
-
2015-03-18 23:38:30
-
2022-03-20 15:49:24
-
2021-01-02 10:23:46
-
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-03-26 15:47:48
-
2019-01-14 09:40:39
-
2016-07-25 14:58:32
-
2023-02-03 09:18:38
-
2020-07-13 18:02:37
-
2023-09-13 14:31:39
-
2024-02-07 12:20:42
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认