后续GPIO

上个文章中我遇到了驱动一个I/O口不能正常“工作”的麻烦。现在我思考后发现,问题其实都是细节的。主要是明白,怎样去完成,去实现。我把我自己的一点思考写写。

*1*   问题的出发是我老板要我在我们自己的板子上尝试驱动一个显现的I/O口(或者别的,LED之类的就是简单验证看看操作系统,文件系统,驱动是否可以正常工作)。我们用的处理器是ARM9的,AT91SAM9260EK。硬件配置比较齐全:(串口,网口,USB等)。不过由于板子的硬件上只有电源一处有一个小的LED灯,再没有别处可以找到。所以我思量着,是否可以找一个I/O口,看看能否控制他输出低电或者高电,用示波器或者万用表来测测。好了,想法已经出来,想控制一个I/O,仅仅低电高电的转换。

*2*  我们在板子上找那个I/O,这个是比较麻烦的,虽然有众多的器件和I/O,但是选取那个呢?找硬件工程师?他在北京。打开电路原理图。寻找。


FLASH这些的还是算了,找一个空闲的总线上的PA或者PB,PC的闲置端口。这样可能会轻松。我自实物上看见有一排的J5插槽。在图上找,因为看起来这个没有外界,所以容易。找到一个有LED1,默认是3.3v。可以控制这个管脚吗?

系统加载,驱动动态插入,那么我们可以随便看见哪个管脚就随便去控制吗?显然不行,有些是你移植过去时这个管脚就在操作系统的驱动下了,这样就比较难弄,需要在编译内核操作系统的时候作出修改。简单其间,我们尽量找这些被髙使能或者低使能的“类似悬空”的管脚。当然你在原理图中还是需要去根据具体情况分析和查找。

我找PA9来驱动(原因是随意的)。我们看看怎么来分析:

 首先,在原理图上查找PA9


PA9到底是在哪?


看见在AT45DB321C,接在WP脚上,被拉到3.3v。看看器件手册。管脚WP,写时序,再看手册。WP是硬件写保护控制。算了,这个是不能使用了。。。

找到一个LED2的,在电路图上查找,与PC10连接。


测量,PC10为0v,因此编写I/O驱动来,使PC10高电有效。。

驱动的编写。。我们从寄存器开始。。。。。。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值