วันพุธที่ 1 กรกฎาคม พ.ศ. 2558

SET BITเซ็ทระดับบิท ตอน2ใช้MACROไม่ง้อINCLUDE




SET BITเซ็ทระดับบิท ตอน2ใช้MACROไม่ง้อINCLUDE
1/7/2558 SONGCHAI PRAPATRUNGSEE
SET BITเซ็ทระดับบิท ตอน2ใช้MACROไม่ง้อINCLUDE

MACRO คือชุดคำสั่งสั้นๆที่เขียนขึ้นมาใช้งาน
ทำงานคล้ายฟังค์ชัน
เราสามารถเขียนขึ้นมาได้ในที่นี้ใช้งานแทน
#include <compat/deprecated.h>//sbi,cbi

การเซ็ทบิท หมายถึงให้บิทนั้นเป็น1เพียงบิทเดียว
การเคลียร์บิท หมายถึงให้บิทนั้นเป็น0เพียงบิทเดียว
โดยไม่กระทบถึงบิทอื่นซึ่งอยู่ในพอร์ทเดียวกัน
และค่าเริ่มต้นของพอร์ทก็คือ 0
0 เป็นค่าDEFAULTหรือค่าโรงงานนั่นเอง

/*
 * MACRO SET BIT & CLRAR BIT .C
 *
 * Created: 1/7/2558 16:35:45
 *  Author: sc
 */

#include <avr/io.h>//REGISTER OF AVR

#define sbi(port,bit) \
(port) |= (1 << (bit))

#define cbi(port,bit) \
(port) &= ~(1 << (bit))

int main(void)
{
    DDRA=255;//PORTA ALL OUTPUT
      PORTA=255;
     
    while(1)//LOOP FOR EVER
    {
            sbi(PORTA,7);
            cbi(PORTA,7);
            sbi(PORTA,7);
            cbi(PORTA,7);
            sbi(PORTA,7);
            cbi(PORTA,7);
            sbi(PORTA,7);
            cbi(PORTA,7);
       
    } 
}



ไม่มีความคิดเห็น: