mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-02 20:24:32 +02:00
i2s: fixed rx update stuck bug
This commit is contained in:
@@ -308,8 +308,8 @@ static inline void i2s_ll_rx_set_clk(i2s_dev_t *hw, i2s_ll_mclk_div_t *set)
|
|||||||
*/
|
*/
|
||||||
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
||||||
{
|
{
|
||||||
hw->tx_conf.tx_update = 0;
|
|
||||||
hw->tx_conf.tx_update = 1;
|
hw->tx_conf.tx_update = 1;
|
||||||
|
while (hw->tx_conf.tx_update);
|
||||||
hw->tx_conf.tx_start = 1;
|
hw->tx_conf.tx_start = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -320,8 +320,8 @@ static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
|||||||
*/
|
*/
|
||||||
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
|
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
|
||||||
{
|
{
|
||||||
hw->rx_conf.rx_update = 0;
|
|
||||||
hw->rx_conf.rx_update = 1;
|
hw->rx_conf.rx_update = 1;
|
||||||
|
while (hw->rx_conf.rx_update);
|
||||||
hw->rx_conf.rx_start = 1;
|
hw->rx_conf.rx_start = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -309,8 +309,8 @@ static inline void i2s_ll_rx_set_clk(i2s_dev_t *hw, i2s_ll_mclk_div_t *set)
|
|||||||
*/
|
*/
|
||||||
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
||||||
{
|
{
|
||||||
hw->tx_conf.tx_update = 0;
|
|
||||||
hw->tx_conf.tx_update = 1;
|
hw->tx_conf.tx_update = 1;
|
||||||
|
while (hw->tx_conf.tx_update);
|
||||||
hw->tx_conf.tx_start = 1;
|
hw->tx_conf.tx_start = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -321,8 +321,8 @@ static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
|||||||
*/
|
*/
|
||||||
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
|
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
|
||||||
{
|
{
|
||||||
hw->rx_conf.rx_update = 0;
|
|
||||||
hw->rx_conf.rx_update = 1;
|
hw->rx_conf.rx_update = 1;
|
||||||
|
while (hw->rx_conf.rx_update);
|
||||||
hw->rx_conf.rx_start = 1;
|
hw->rx_conf.rx_start = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -311,8 +311,8 @@ static inline void i2s_ll_rx_set_clk(i2s_dev_t *hw, i2s_ll_mclk_div_t *set)
|
|||||||
*/
|
*/
|
||||||
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
||||||
{
|
{
|
||||||
hw->tx_conf.tx_update = 0;
|
|
||||||
hw->tx_conf.tx_update = 1;
|
hw->tx_conf.tx_update = 1;
|
||||||
|
while (hw->tx_conf.tx_update);
|
||||||
hw->tx_conf.tx_start = 1;
|
hw->tx_conf.tx_start = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -323,8 +323,8 @@ static inline void i2s_ll_tx_start(i2s_dev_t *hw)
|
|||||||
*/
|
*/
|
||||||
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
|
static inline void i2s_ll_rx_start(i2s_dev_t *hw)
|
||||||
{
|
{
|
||||||
hw->rx_conf.rx_update = 0;
|
|
||||||
hw->rx_conf.rx_update = 1;
|
hw->rx_conf.rx_update = 1;
|
||||||
|
while (hw->rx_conf.rx_update);
|
||||||
hw->rx_conf.rx_start = 1;
|
hw->rx_conf.rx_start = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user