atemega 8ルーチン:ランプ点滅
C言語「ビット演算」:
AND演算:1×1=1 1×0=0 0×1=0 0×0=0
「または」演算:1+1=11+0=10+1=10+0=0
「排他的OR^」演算:1^1=0 1^0=1 0^1=1 0^0=0
設定:PORTA==10110100 x=(0~7)
PORTA&=~(0 x 01<PORTA|=(0 x 01<PORTA^=(0 x 01<______________________________________
C言語常識:論理「真」:非「0」、論理「偽」:「0」.
______________________________________
判定ポートAのある「ビット」の値:x=(0~7)
If(PORTA &(0x01<if式では、xビットの値が1の場合、式は「0ではない」ため「真」であり、xビットの値が0の場合、式は「0」のため「偽」である.
AND演算:1×1=1 1×0=0 0×1=0 0×0=0
「または」演算:1+1=11+0=10+1=10+0=0
「排他的OR^」演算:1^1=0 1^0=1 0^1=1 0^0=0
設定:PORTA==10110100 x=(0~7)
PORTA&=~(0 x 01<
C言語常識:論理「真」:非「0」、論理「偽」:「0」.
______________________________________
判定ポートAのある「ビット」の値:x=(0~7)
If(PORTA &(0x01<
AVR DDRx 0x00,PORTx 0x00。
/***********************************************************
* :ATMEGE8
* : v1.0
* :
* : 2011 08 01
*
* :
*
* :
*
************************************************************
* : LED C5
***********************************************************/
#include <avr/io.h>
int main(void)
{
unsigned int i,j;
//PORTC5
DDRC |= (1 << DDC5);
//PORTC5 ,LED
PORTC &= ~(1 << PORTC5);
while(1)
{
//
PORTC ^= (1 << PORTC5);
for(i = 0;i < 100;i ++)
for(j = 0;j < 1000;j ++);
}
}