Cours:InfoS2 tdOutput corrige : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Page créée avec « <accesscontrol>Acces:Prof</accesscontrol> »)
 
Ligne 1 : Ligne 1 :
 
<accesscontrol>Acces:Prof</accesscontrol>
 
<accesscontrol>Acces:Prof</accesscontrol>
 +
 +
=Chenillard=
 +
<source lang=cpp>
 +
#define F_CPU 16000000UL
 +
#include <avr/io.h>
 +
#include <util/delay.h>
 +
uint32_t chenillard=1;
 +
int8_t sens=1;
 +
int main()
 +
{
 +
DDRA = 0xFF;
 +
DDRJ = 0xFF;
 +
DDRC = 0xFF;
 +
DDRD = 0xFF;
 +
while(1)
 +
{
 +
if (sens==1)
 +
{
 +
chenillard <<=1;
 +
if (chenillard==0x80000000) sens=-1;
 +
}
 +
else
 +
{
 +
chenillard >>=1;
 +
if (chenillard==1) sens=1;
 +
}
 +
PORTA=(chenillard>> 0)&0x00FF;
 +
PORTJ=(chenillard>> 8)&0x00FF;
 +
PORTC=(chenillard>>16)&0x00FF;
 +
PORTD=(chenillard>>24)&0x00FF;
 +
_delay_ms(30);
 +
}
 +
}
 +
</source>

Version du 31 janvier 2023 à 17:59

Il s’agit d’une page protégée.

Chenillard

#define F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
uint32_t chenillard=1;
int8_t sens=1; 
int main()
{
	DDRA = 0xFF;
	DDRJ = 0xFF;
	DDRC = 0xFF;
	DDRD = 0xFF;
	while(1)
	{
		if (sens==1)
		{
			chenillard <<=1;
			if (chenillard==0x80000000) sens=-1;
		}
		else
		{
			chenillard >>=1;
			if (chenillard==1) sens=1;
		}
		PORTA=(chenillard>> 0)&0x00FF;
		PORTJ=(chenillard>> 8)&0x00FF;
		PORTC=(chenillard>>16)&0x00FF;
		PORTD=(chenillard>>24)&0x00FF;
		_delay_ms(30);
	}
}