Cours:TPS 2103 tp positionnementMoteur
Révision datée du 13 avril 2023 à 20:36 par Bjacquot (discussion | contributions)
Pensez à mettre sur la 1ère ligne de votre code : // Compiler: Avrgcc device: nomDuMicrocontroleur
Asservissement en position du moteur CC
Esclave (target) i2c
On donne les exemples suivant pour qu'un µcontroleur atmegaxxx se comporte comme un esclave i2c avec différents registres
// *******
// *******
// i2c target
// *******
// *******
// ne pas modifier !!!
// *******
// *******
// Include the required Wire library for I2C
#include <Wire.h>
const int8_t i2cAddress = 0x1A;
volatile uint16_t valPotar;
void setup() {
// Start the I2C Bus as Slave on address
Wire.begin(i2cAddress);
Wire.onRequest(requestEvent);
}
void requestEvent()
{
Wire.write(valPotar>>2);
}
void loop() {
valPotar=analogRead(A0);
_delay_ms(100);
}
|
// *******
// *******
// i2c target
// *******
// *******
// ne pas modifier !!!
// *******
// *******
// Include the required Wire library for I2C
#include <Wire.h>
const int8_t i2cAddress = 9;
void setup() {
DDRD=0xFF;
// Start the I2C Bus as Slave on address
Wire.begin(i2cAddress);
Wire.onReceive(receiveEvent);
}
void receiveEvent(int nbBytes)
{
PORTD=Wire.read();
}
void loop() {
_delay_ms(100);
}
|