« SE3 PSE Binome2023-6 » : différence entre les versions

De projets-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 49 : Ligne 49 :
}
}


</syntaxhighlight>
</syntaxhighlight><syntaxhighlight lang="c">
 
/* Hardware Initialization */
 
Joystick_Init();
 
LEDs_Init();
 
Buttons_Init();
 
USB_Init();
 






MCUCR |= (1<<JTD);
MCUCR |= (1<<JTD);
CLKSEL0 = 0b00010101;  // sélection de l'horloge externe
CLKSEL1 = 0b00001111;  // minimum de 8Mhz
CLKPR = 0b10000000;    // modification du diviseur d'horloge (CLKPCE=1)
CLKPR = 0;              // 0 pour pas de diviseur (diviseur de 1)




//Boutons A et B
DDRF  &= 0b00111111;
PORTF |= 0b11000000;
//Boutons directionnels
DDRD  &= 0b11010001;
PORTD |= 0b00101110;




// Allumer les leds
PORTF |= 0b00100011;
PORTE |= 0b01000000;
</syntaxhighlight>
== Montage de la carte : ==
== Montage de la carte : ==
Fichiers: [[Fichier:ManetteUSBLilianPierre.zip]]
Fichiers: [[Fichier:ManetteUSBLilianPierre.zip]]

Version du 22 mai 2024 à 10:06

Conception de la manette

Schematic2 manette.png
Screenshot 2024-03-11 17-48-28.png
Screenshot 2024-03-11 17-47-48.png
Schematic1 manette.png










Code C

bool GetNextReport(USB_JoystickReport_Data_t* const ReportData)
{

	bool           InputChanged     = false;

	/* Clear the report contents */
	memset(ReportData, 0, sizeof(USB_JoystickReport_Data_t));

	if (~(PINF>>PIN7) & 1) ReportData->Button |= (1 << 1);
	if (~(PINF>>PIN6) & 1) ReportData->Button |= (1 << 0);
	if (~(PIND>>PIN1) & 1) ReportData->Y = 100;
	if (~(PIND>>PIN2) & 1) ReportData->X = 100;
	if (~(PIND>>PIN3) & 1) ReportData->X = -100;
	if (~(PIND>>PIN5) & 1) ReportData->Y = -100;


	InputChanged = 1;

	return InputChanged;
}
	/* Hardware Initialization */
	Joystick_Init();
	LEDs_Init();
	Buttons_Init();
	USB_Init();



	MCUCR |= (1<<JTD);
	MCUCR |= (1<<JTD);
	CLKSEL0 = 0b00010101;   // sélection de l'horloge externe
	CLKSEL1 = 0b00001111;   // minimum de 8Mhz
	CLKPR = 0b10000000;     // modification du diviseur d'horloge (CLKPCE=1)
	CLKPR = 0;              // 0 pour pas de diviseur (diviseur de 1)


	//Boutons A et B
	DDRF  &= 0b00111111;
	PORTF |= 0b11000000;
	
	//Boutons directionnels 
	DDRD  &= 0b11010001;
	PORTD |= 0b00101110;


	// Allumer les leds
	PORTF |= 0b00100011;
	PORTE |= 0b01000000;

Montage de la carte :

Fichiers: Fichier:ManetteUSBLilianPierre.zip

gerber: Fichiers: Fichier:SE3-pad-job.gbrjob.zip gerber: Fichiers: Fichier:SE3-pad-LGPC.zip