39 lines
584 B
C
39 lines
584 B
C
/**
|
|
* Not responding slave test
|
|
*/
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "ch.h"
|
|
#include "hal.h"
|
|
|
|
#include "fake.h"
|
|
|
|
|
|
/* input buffer */
|
|
static uint8_t rx_data[2];
|
|
|
|
/* temperature value */
|
|
static int16_t temperature = 0;
|
|
|
|
|
|
#define addr 0b1001100
|
|
|
|
/* This is main function. */
|
|
void request_fake(void){
|
|
i2cflags_t errors = 0;
|
|
|
|
i2cAcquireBus(&I2CD1);
|
|
errors = i2cMasterReceive(&I2CD1, addr, rx_data, 2);
|
|
i2cReleaseBus(&I2CD1);
|
|
|
|
if (errors == I2CD_ACK_FAILURE){
|
|
__NOP();
|
|
}
|
|
else{
|
|
temperature = (rx_data[0] << 8) + rx_data[1];
|
|
}
|
|
}
|
|
|
|
|