C – AVR – 简单的PORTB,DDRB,PINB说明

前端之家收集整理的这篇文章主要介绍了C – AVR – 简单的PORTB,DDRB,PINB说明前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从事学校项目,需要用AVR atmega控制器学习C的基础知识.

我不明白一切如何设置.例如PORTB,PORTD,DDRB; DDRD,PINB,PIND和类似的东西.而且我不知道如何使用if语句,while循环等.

有人可以给我一个简短的解释吗?

我有几行代码行…

DDRB = 0b00000011; // I know that here DDRB is set to input/output

和if语句:

if (PINB & (1 << PINB0)){
    A = true;
}

有人可以解释一下这个“if语句”是如何工作的?为什么PINB& (1

你是说什么是if-condition PINB& (1 > 1为0000 0001
> 1 <左移后的2号给0000 0100
>按位,0000 0100给出全零0000 0000或0000 0100

3A.如果全部为零,则条件为false(当a中的第三位为零时).
3B.如果按位结果为0000 0100,则条件求值为真(当a中的第三位为1时).

转载注明原文:C – AVR – 简单的PORTB,PINB说明 - 代码日志

解决方法

你是说什么是if-condition PINB& (1 > 1为0000 0001
> 1 <左移后的2号给0000 0100
>按位,0000 0100给出全零0000 0000或0000 0100

3A.如果全部为零,则条件为false(当a中的第三位为零时).3B.如果按位结果为0000 0100,则条件求值为真(当a中的第三位为1时).

猜你在找的C&C++相关文章