打印
[Atmel]

每天跟我读点资料:SAM D21数据手册(142)

[复制链接]
728|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2015-3-2 19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
22.6.2 基本操作

22.6.2.1 初始化

       在复位之后,所有标准功能的设备管脚都以输出三态和输入缓冲禁止的状态连到端口,甚至没有时钟运行。特殊的管脚,如用来连接调试器的管脚,可以根据他们的不同需要,有不同的配置。

      每个I/O管脚y能被配置并通过读写端口寄存器访问。因为端口寄存器是由多组多达32个管脚的一系列的寄存器组成的,引脚是设置寄存器的基地址为字节地址端口+ ( Y / 32 ) * 0x80。 ( Y% 32)将被用作该寄存器组的各寄存器内的索引。

      用管脚y作为输出,通过写(y%32)比特在DIR寄存器里为1来配置它作为输出。为了避免扰乱本组中的其它管脚配置,也可以在DIRSET寄存器中(y%32)比特写1。输出的期望值可以向OUT寄存器的(y%32)比特写。

      同样地写一个1比特到(OUTSET)寄存器将设置相应的比特在数据输出值(OUT)寄存器置1.写一个比特在输出清除寄存器(OUTCLR)将设置相应的比特在数据输出寄存器(OUT)中为0。写1到数据输出值切换( OUTTGL )寄存器中的一位会切换在数据输出值( OUT )寄存器中的对应位。

      管脚y作为输入,配置它通过向DIR寄存器的(y%32)位写0.为了避免干扰该组其它管脚的配置,也可以向DIRCLR寄存器(y%32)位写1.期望读到的值可以在IN寄存器中读到当PINCFGy寄存器中INEN比特位写1。
      请参考"I/O Multiplexing and Considerations"关于管脚配置的描述。

      默认的,输入同步装置是只有在读输入请求时才供时钟,这将延迟读操作两个CLK_PORT周期。为了消除那个延时,输入同步器为每个组的八个引脚可被构造成一直有效,但是这是以更高的功率消耗为代价的。
这是通过写一个控制相应的SAMPLINGn位组CTRL寄存器,其中n = (Y % 32) / 8 。

      为了用y管脚做为一个可用的外设功能引脚,写一个1到相应PINCFGy寄存器中的PMUXEN比特位。管脚y的PINCFGy寄存器是字节偏移地(PINCFG0 + (y%32))。

     外设功能能被选择通过写PMUXO或者PMUXE比特组在PMUXn寄存器中。PMUXO/PMUXE比特组是字节偏移(PMUX0 + (y%32)/2),如果y是奇数在比特组3:0,如果是偶数则在比特组7:4

    所选的外设必须被配置并使能。



相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2398

主题

6956

帖子

67

粉丝