roboforum.ruТехнический форум по робототехнике. |
|
|
#include <avr/io.h>
#include <util/delay.h>
#include <inttypes.h>
int main(void)
{
char i;
DDRB = 0xFF;
PORTB = 0x00;
while(1)
{
for(i = 0; i < 100; i++)
_delay_ms(10);
PORTB = 0xFF;
for(i = 0; i < 100; i++)
_delay_ms(10);
PORTB = 0x00;
}
return 0;
}
#include <avr/io.h>
#include <util/delay.h>
#include <inttypes.h>
int main(void)
{
char i;
DDRB = 0xFF;
PORTB = 0x00;
while(1)
{
for(i = 0; i < 100; i++)
_delay_ms(10);
PORTB ^= 0xFF; // побитовое исключающее или, в нашем случае просто инвертирование.
// если непонятно то man xor; google://исключающее или
}
return 0;
}
#include <avr/io.h>
#include <util/delay.h>
#include <inttypes.h>
int main(void)
{
unsigned char i, mask = 0x5A;
DDRB = 0xFF;
PORTB = 0x00;
while(1)
{
for(i = 0; i < 100; i++)
_delay_ms(10);
mask ^= 0xFF;
PORTB ^= mask;
}
return 0;
}
rig писал(а):в CVAVR работает
delay_ms(1000) и delay_ms(5000), сам проверял так что можно упростить код, убрав циклы.
Vooon писал(а):А так не проще ли будет?
.......
#include "library.h"
int main(void)
{
bit_set(DDRB, 1);
while (1) {
bit_set(PORTB, 1);
wait_ms(300);
bit_clear(PORTB, 1);
wait_ms(300);
}
}
PORTB |= (1 << 6);
bit_set(PORTB, 6);
PORTB &= ~(1 << 6);
bit_clear(PORTB, 6);
PORTB ^= (1 << 6);
bit_invert(PORTB, 6);
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7