- Ví dụ config PD7 là Output:
- DDRD |= (1 << PD7);
- Ví dụ config PD7 là Input:
- DDRD &= ~ (1 << PD7);
#include <avr/io.h> /* khai báo IO cho Mega8 */
#include <util/delay.h> /* khai báo cho hàm _delay_ms */
/* main function */
int main(void)
{
DDRD |= (1 << PD7); //PD7 is Output:
while(1)
{
//turn on/turn off LED after 500ms
PORTD |= (1 << PD7);
_delay_ms(500);
PORTD &= ~(1 << PD7);
_delay_ms(500);
}
}
------------------------------------------------------------------------
Để souce code dễ đọc hơn, ta dùng macro:
#include <avr/io.h> /* khai báo IO cho Mega8 */
#include <util/delay.h> /* khai báo cho hàm _delay_ms */
#define LED_PIN PD7
#define LED_PORT PORTD
#define LED_DDR DDRD
#define LED_ON LED_PORT |= 1 << LED_PIN
#define LED_OFF LED_PORT &= ~(1 << LED_PIN)
/* main function */
int main(void)
{
LED_DDR |= (1 << LED_PIN); //PD7 is Output:
while(1)
{
//turn on/turn off LED after 500ms
LED_ON;
_delay_ms(500);
LED_OFF;
_delay_ms(500);
}
}
Không có nhận xét nào:
Đăng nhận xét