roboforum.ruТехнический форум по робототехнике. |
|
|
GrayHunter писал(а):Это только некой одновременностью (питания светодиода и постоянной проверки) можно сделать или как?
#include <C:\Documents and Settings\123\Рабочий стол\Программатор\inc\mega8.h> // подключаем заголовочный файл для ATmega8(L)
#include <C:\Documents and Settings\123\Рабочий стол\Программатор\inc\delay.h> /* файл содержит функции для создания пауз в программе,
Например: delay_ms(x); /* сделать паузу x милиСек
x - может быть переменная, выражение или число от 0 до 65535 (тип unsigned int) */
// Функция в которой описано начальное конфигурирование МК:
(void)_init_mk(void){
// Инициализация Port_B:
DDRB=0b00000001; // определение ножек МК портов B (1 = вывод | 0 = ввод).
PortB=0b00000000;
// Главная функция - с неё начинается выполнение программы:
void main(void){
_init_mk(); /* Вызываем функцию инициализации, настроийки аппаратуры МК.
Выполнив её программа вернется сюда и будет выполнять следующую строку */
again: // метка "again"
PortB=0b00000001; // подаём напряение на светодиод
delay_ms(500); // задержка 1/2 секунды
PortB=0b00000000; // обесточиваем светодиод
delay_ms(500); // задержка 1/2 секунды
goto again; // переход к метке "again"
}
#include "delay.h"
void main(void){
DDRB=0x01;
while(1=1){
PORTB^=0x01;
_delay_ms(500); // задержка 1/2 секунды
};
}
GrayHunter писал(а):Прошивать пытаюсь в Студии.
#include "mega8.h" // подключаем заголовочный файл для ATmega8(L)
#include "delay.h"
void main(void){
DDRB=0x01;
while(1=1){
PORTB^=0x01;
_delay_ms(500); // задержка 1/2 секунды
};
}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7