设为首页收藏本站
查看: 15487|回复: 5

MYS-SAM9X5 ADC复用普通GPIO

[复制链接]

25

主题

9

回帖

280

积分

中级会员

积分
280
Willian.Mo 发表于 2015-6-30 18:03:05 | 显示全部楼层 |阅读模式
本帖最后由 Willian.Mo 于 2015-7-7 15:45 编辑

MYS-SAM9X5的J5拓展口处理PC31管脚,其他复用成了tsadc或ethernet功能,要将这些管脚用作普通GPIO功能,需要修改内核。
这里将复用成ethernet功能管脚用作普通GPIO:
1. 修改内核Linux-2.6.39/arch/arm/ mach-at91/board-sam9x5ek.c文件的409行,禁用eth0功能,修改后如下:
[mw_shl_code=bash,true]        /* Ethernet */
        // at91_add_device_eth(0, &ek_macb0_data);
        at91_add_device_eth(1, &ek_macb1_data);[/mw_shl_code]
2. 重新编译内核 :
[mw_shl_code=bash,true]$ ./make_image.sh 4.3 [/mw_shl_code]
3. 烧写新的内核镜像。
4. GPIO测试:
[mw_shl_code=bash,true]测试PB7,计算gpio标号为:2x32+7 = 71.
# cd /sys/class/gpio/
导出GPIO71:
# echo 71 > export
设置GPIO71为输出:
# echo "out" > gpio71/direction
GPIO71输出高电平:
# echo 1 > gpio71/value
GPIO71输出低电平:
# echo 0 > gpio71/value
释放GPIO71
# echo 71 > unexport[/mw_shl_code]
注意:Ateml SAM9X5的ADC复用GPIO电压范围与普通的GPIO有些不同,如下图所示:




9x5.png
9x5-2.png
回复

使用道具 举报

0

主题

3

回帖

14

积分

新手上路

积分
14
likaixinstar 发表于 2015-7-9 17:56:45 | 显示全部楼层
请问如何将复用ADC功能的管脚用作普通GPIO,需要修改哪些地方,谢谢!
回复 支持 反对

使用道具 举报

25

主题

9

回帖

280

积分

中级会员

积分
280
 楼主| Willian.Mo 发表于 2015-7-10 10:36:04 | 显示全部楼层
likaixinstar 发表于 2015-7-9 17:56
请问如何将复用ADC功能的管脚用作普通GPIO,需要修改哪些地方,谢谢!

上面说得很清楚了,把ADC管脚的复用功能去掉就可以用作普通GPIO
回复 支持 反对

使用道具 举报

0

主题

3

回帖

14

积分

新手上路

积分
14
likaixinstar 发表于 2015-7-10 23:16:25 | 显示全部楼层
Willian.Mo 发表于 2015-7-10 10:36
上面说得很清楚了,把ADC管脚的复用功能去掉就可以用作普通GPIO

那在哪里关ADC管脚的复用功能,是Linux-2.6.39/arch/arm/ mach-at91/board-sam9x5ek.c文件?
回复 支持 反对

使用道具 举报

25

主题

9

回帖

280

积分

中级会员

积分
280
 楼主| Willian.Mo 发表于 2015-7-13 09:58:24 | 显示全部楼层
likaixinstar 发表于 2015-7-10 23:16
那在哪里关ADC管脚的复用功能,是Linux-2.6.39/arch/arm/ mach-at91/board-sam9x5ek.c文件?

是的
回复 支持 反对

使用道具 举报

0

主题

3

回帖

14

积分

新手上路

积分
14
likaixinstar 发表于 2015-7-16 23:58:57 | 显示全部楼层

谢谢!:handshake
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-3-29 21:52 , Processed in 0.051208 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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