使用WinAVR的微控制器AVR中的基本I / O.

时间:2015-12-22 04:06:57

标签: codeblocks atmega avr-gcc winavr

我想驱动一台BLDC电机,我用ATMEGA32作为控制器的CPU,我从BLDC电机读取霍尔效应传感器有问题

这是我的代码:

npm install

PORTB为OUTPUT,PORTD为INPUT 这是主要计划:

DDRB=(1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5);
DDRD=(0<<0)|(0<<1)|(0<<2)|(0<<3);
PORTD=(1<<0)|(1<<1)|(1<<2)|(1<<3);

我的回答是这个程序无法从霍尔效应传感器读取逻辑零(0)所以BLDC无法正常运行,如何在AVR ATMEGA32中读取多个输入? 我使用Codeblock和winavr ....

非常感谢

1 个答案:

答案 0 :(得分:0)

我真的不明白你想做什么,但是如果你想从atmega 32中的D端读取,你没有处理'PORTD'寄存器,还有另一个叫做'PIND'的寄存器,这个是你从中读取数字信号的人。 也没有“&gt; DDRD =(0 <&lt; 0)|(0 <&lt; 1)|(0 <2)|(0 <&lt; 3);”如果要清除一位(将该位设置为逻辑0),则只使用按位而不是移位(例如DDRD = ~(1<<bitnumber)