陶新成 发表于 2015-3-11 15:37:09

atmega64 PORTG0,1,2三个管脚能否用做正常IO口输出输入

在做测试,用PORTB口运行正常,在新做的板子上用到了PORTG三个脚,不能正常运行,PORTG三个中两个输出一个输入,不知道这三个脚能否能用做正常IO口使用?小问题

LinuxTux.China 发表于 2015-3-11 16:28:09

是不是使用了103兼容模式啊

陶新成 发表于 2015-3-11 18:22:09

LinuxTux.China 发表于 2015-3-11 16:28
是不是使用了103兼容模式啊

我检测了熔丝位配置,没有错

Hhhhhhhh 发表于 2015-3-11 19:14:29

可以的,正好用过。

陶新成 发表于 2015-3-11 20:46:31

Hhhhhhhh 发表于 2015-3-11 19:14
可以的,正好用过。


#define DDR_MF522_MISO DDRG&= ~(1<<1)
#define SET_MF522_MISO PORTG |=(1<<1)
#define CLR_MF522_MISO PORTG &= ~(1<<1)
#define GET_MF522_MISO (PING & 0X02)

#define DDR_MF522_MOSI DDRC|=(1<<7)
#define SET_MF522_MOSI PORTC |=(1<<7)
#define CLR_MF522_MOSI PORTC &= ~(1<<7)


#define DDR_MF522_MISO DDRC&= ~(1<<7)
#define SET_MF522_MISO PORTC |=(1<<7)
#define CLR_MF522_MISO PORTC &= ~(1<<7)
#define GET_MF522_MISO (PINC & 0X80)

#define DDR_MF522_MOSI DDRG|=(1<<1)
#define SET_MF522_MOSI PORTG |=(1<<1)
#define CLR_MF522_MOSI PORTG &= ~(1<<1)
有问题吗

Hhhhhhhh 发表于 2015-3-12 08:20:59

陶新成 发表于 2015-3-11 20:46
#define DDR_MF522_MISO DDRG&= ~(1

我用汇编写的。
ldi r16,0b00000111输出高/ldi r16,0输出低
sts ddrg,r16
ldi r16,0b00000111
sts portg,r16
熔丝位有的1是使能,有的0是使能。建议再看下兼容模式熔丝位

chunyu 发表于 2015-3-12 20:47:08

可以的那里设置不行吧

liulingang_1205 发表于 2015-3-17 14:26:52

可以啊,正在用64   
页: [1]
查看完整版本: atmega64 PORTG0,1,2三个管脚能否用做正常IO口输出输入