C ATmega4808 32针-针PA0不';不要被设定得太高

C ATmega4808 32针-针PA0不';不要被设定得太高,c,avr,atmega,microchip,C,Avr,Atmega,Microchip,我用的是ATmega4808 32针。我有两个LED连接到引脚PA0和PA1。我想把两者都提高。不幸的是,只有PA1 LED亮起 我发现PA0引脚可以默认设置为EXTCLK。如果这是问题所在,我无法找到将端口更改为GPIO的解决方案 int main(int argc, char** argv) { PORTA.DIRSET = PIN0_bm; // Config PA0 as output PORTA.DIRSET = PIN1_bm; // Config PA1 as ou

我用的是ATmega4808 32针。我有两个LED连接到引脚PA0和PA1。我想把两者都提高。不幸的是,只有PA1 LED亮起

我发现PA0引脚可以默认设置为EXTCLK。如果这是问题所在,我无法找到将端口更改为GPIO的解决方案

int main(int argc, char** argv) {
    PORTA.DIRSET = PIN0_bm; // Config PA0 as output
    PORTA.DIRSET = PIN1_bm; // Config PA1 as output

    PORTA.OUTSET = PIN0_bm; // Set Pin PA0 to HIGH 
    PORTA.OUTSET = PIN1_bm; // Set Pin PA1 to HIGH 

    while(1){
    }


    return (EXIT_SUCCESS);
}

通过再次写入寄存器
PORTA.DIRSET
PORTA.start
,PIN0的配置丢失

尝试使用
|(按位或)
不放弃PIN0配置:

    PORTA.DIRSET  = PIN0_bm; // Config PA0 as output
    PORTA.DIRSET |= PIN1_bm; // Config PA1 as output

    PORTA.OUTSET  = PIN0_bm; // Set Pin PA0 to HIGH
    PORTA.OUTSET |= PIN1_bm; // Set Pin PA1 to HIGH
或者,同时设置它们:

    PORTA.DIRSET = PIN0_bm | PIN1_bm; // Config PA0 and PA1 as output

    PORTA.OUTSET = PIN0_bm | PIN1_bm; // Set Pin PA0 and PA1 to HIGH

通过再次写入寄存器
PORTA.DIRSET
PORTA.start
,PIN0的配置丢失

尝试使用
|(按位或)
不放弃PIN0配置:

    PORTA.DIRSET  = PIN0_bm; // Config PA0 as output
    PORTA.DIRSET |= PIN1_bm; // Config PA1 as output

    PORTA.OUTSET  = PIN0_bm; // Set Pin PA0 to HIGH
    PORTA.OUTSET |= PIN1_bm; // Set Pin PA1 to HIGH
或者,同时设置它们:

    PORTA.DIRSET = PIN0_bm | PIN1_bm; // Config PA0 and PA1 as output

    PORTA.OUTSET = PIN0_bm | PIN1_bm; // Set Pin PA0 and PA1 to HIGH

PIN0\u bm
PIN1\u bm
的定义是什么?某种类型的
#define
我想..它是在avr/io.h中定义的#define PIN0_bm 0x01#define PIN1_bm 0x02如何通过
PORTMUX
寄存器设置pin功能?系列数据表显示,PA0-PA3默认具有USART0功能。对应于ATmega3208/4808–32针数据表,PA0的默认设置应为EXTCLK,如图3所示。引脚->3.1 32引脚QFN/TQFP。正如我所说,PA1工作正常。是的,我看到了,但我不知道如何禁用这个功能。系列数据表在第9.3.4.2.2节中说“如果任何外设请求此时钟,此GPIO引脚将自动配置为EXTCLK”,这可能是问题所在
PIN0\u bm
PIN1\u bm
的定义是什么?某种类型的
#define
我想..它是在avr/io.h中定义的#define PIN0_bm 0x01#define PIN1_bm 0x02如何通过
PORTMUX
寄存器设置pin功能?系列数据表显示,PA0-PA3默认具有USART0功能。对应于ATmega3208/4808–32针数据表,PA0的默认设置应为EXTCLK,如图3所示。引脚->3.1 32引脚QFN/TQFP。正如我所说,PA1工作正常。是的,我看到了,但我不知道如何禁用这个功能。系列数据表在第9.3.4.2.2节中说“如果任何外设请求此时钟,此GPIO引脚将自动配置为EXTCLK”,这可能是问题所在