change freq definition + add lower frequency for test
This commit is contained in:
parent
50f77d6f40
commit
30df075c3d
2 changed files with 13 additions and 8 deletions
|
|
@ -45,7 +45,7 @@ inline bool i2c_status(uint8_t bus)
|
||||||
return i2c_bus[bus].started;
|
return i2c_bus[bus].started;
|
||||||
}
|
}
|
||||||
|
|
||||||
void i2c_init(uint8_t bus, uint8_t scl_pin, uint8_t sda_pin, uint8_t freq)
|
void i2c_init(uint8_t bus, uint8_t scl_pin, uint8_t sda_pin, i2c_freq_t freq)
|
||||||
{
|
{
|
||||||
i2c_bus[bus].started = false;
|
i2c_bus[bus].started = false;
|
||||||
i2c_bus[bus].flag = false ;
|
i2c_bus[bus].flag = false ;
|
||||||
|
|
@ -71,7 +71,7 @@ void i2c_init(uint8_t bus, uint8_t scl_pin, uint8_t sda_pin, uint8_t freq)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void i2c_frequency(uint8_t bus, uint8_t freq)
|
void i2c_frequency(uint8_t bus, i2c_freq_t freq)
|
||||||
{
|
{
|
||||||
i2c_bus[bus].frequency = freq ;
|
i2c_bus[bus].frequency = freq ;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,11 +47,16 @@ extern "C" {
|
||||||
* Warning : 1 is minimal, that mean at 80MHz clock, frequency max is 320kHz
|
* Warning : 1 is minimal, that mean at 80MHz clock, frequency max is 320kHz
|
||||||
* Array format is { {160MHz, 80MHz} , {160MHz, 80MHz} , ... }
|
* Array format is { {160MHz, 80MHz} , {160MHz, 80MHz} , ... }
|
||||||
*/
|
*/
|
||||||
#define I2C_FREQ_100K 0
|
#define NB_FREQ_AVAILABLE 4
|
||||||
#define I2C_FREQ_400K 1
|
|
||||||
#define I2C_FREQ_500K 2
|
|
||||||
|
|
||||||
const static uint8_t i2c_freq_array[3][2] = { {100,20}, {10,1}, {6,1} } ;
|
typedef enum {
|
||||||
|
I2C_FREQ_80K = 0,
|
||||||
|
I2C_FREQ_100K,
|
||||||
|
I2C_FREQ_400K,
|
||||||
|
I2C_FREQ_500K,
|
||||||
|
} i2c_freq_t;
|
||||||
|
|
||||||
|
const static uint8_t i2c_freq_array[NB_FREQ_AVAILABLE][2] = { {255,35}, {100,20}, {10,1}, {6,1} } ;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Device descriptor
|
* Device descriptor
|
||||||
|
|
@ -87,14 +92,14 @@ typedef struct i2c_bus_description {
|
||||||
* @param sda_pin SDA pin for I2C
|
* @param sda_pin SDA pin for I2C
|
||||||
* @param freq frequency of bus (ex : I2C_FREQ_400K)
|
* @param freq frequency of bus (ex : I2C_FREQ_400K)
|
||||||
*/
|
*/
|
||||||
void i2c_init(uint8_t bus, uint8_t scl_pin, uint8_t sda_pin, uint8_t freq);
|
void i2c_init(uint8_t bus, uint8_t scl_pin, uint8_t sda_pin, i2c_freq_t freq);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change bus frequency
|
* Change bus frequency
|
||||||
* @param bus Bus i2c selection
|
* @param bus Bus i2c selection
|
||||||
* @param freq frequency of bus (ex : I2C_FREQ_400K)
|
* @param freq frequency of bus (ex : I2C_FREQ_400K)
|
||||||
*/
|
*/
|
||||||
void i2c_frequency(uint8_t bus, uint8_t freq);
|
void i2c_frequency(uint8_t bus, i2c_freq_t freq);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write a byte to I2C bus.
|
* Write a byte to I2C bus.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue