2.
\$\begingroup\$

我正试图将an ATtiny84A配置为与SPI一起使用,但我对配置端口的数据表中所说的内容有些混淆。ATtiny84A具有数据表所称的“备用端口功能”,因此每个端口可以具有多个功能。在我使用SPI的情况下,为SPI时钟提供服务的引脚也为端口GPIO功能、ADC、I2C时钟等提供服务(见数据表第64页:端口A,第4位)。

我从数据表中了解到的是,当一个功能被设置时,它会自动配置端口。那么如果我尝试一次配置多个端口功能会发生什么呢?例如,如果我在A4端口上配置ADC,而在A4端口上配置时钟源的SPI呢?我找不到一个表明确说明如何配置端口启用或禁用其他功能,所以我想某种功能优先级被采取了?

此外,关于设置方向寄存器以允许SPI时钟通过的信息在哪里?这让我很困惑,因为正如我所说,数据表似乎说端口是自动配置的;但是,为了让时钟通过端口A4传输,我必须将1写入方向寄存器(将其设置为输出),时钟源才能输出,但我在数据表中找不到任何信息来支持这种行为。

下面是一些示例代码,用于从SPI时钟端口获得连续时钟:

USICR |=(1<

编辑:我将从数据表中总结我特别困惑/不知道如何处理的信息:

表10-2,第60页:我不确定配置备用端口功能时这些超控信号的用途。

表10-5,第64页:我在这张表中看到了USI时钟,但我不知道它包含的其他信息告诉了我什么。我看到USCK在DI行中,但我不知道它告诉我端口的配置是什么。

\ \ endgroup \美元
2.
  • \$\begingroup\$ 您可能需要给出您所引用的数据表的确切链接。有一些修订,每一个数据表都有一些不同的形式。在最新的数据表上(来自MicroChip.com),我没有看到你引用的项目 \ \ endgroup \美元
    需要
    5月3日7:13
  • \$\begingroup\$ @Nedd说得好,看来我手上的数据表是另一个版本。我将更新问题的页码和表编号从数据表目前列出的芯片页ATtiny84。 \ \ endgroup \美元 5月3日7:20
0
\$\begingroup\$

我相信这就是你想要的答案。在130页。

在这里输入图像描述

\ \ endgroup \美元

    你的回答

    点击“发布您的答案”,您同意我们的建议服务条款,隐私政策饼干的政策

    不是你想要的答案?浏览已标记的其他问题问你自己的问题.