Explorar o código

Merge branch 'bugfix/spi_master_multiple_dev_with_diff_cs_lvl_4.0' into 'release/v4.0'

spi_master: correctly set cs polarity (4.0)

See merge request espressif/esp-idf!10403
Michael (XIAO Xufeng) %!s(int64=4) %!d(string=hai) anos
pai
achega
41efdb0b34
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      components/soc/include/hal/spi_ll.h

+ 2 - 2
components/soc/include/hal/spi_ll.h

@@ -275,7 +275,7 @@ static inline void spi_ll_master_set_pos_cs(spi_dev_t *hw, int cs, uint32_t pos_
     if (pos_cs) {
     if (pos_cs) {
         hw->pin.master_cs_pol |= (1 << cs);
         hw->pin.master_cs_pol |= (1 << cs);
     } else {
     } else {
-        hw->pin.master_cs_pol &= (1 << cs);
+        hw->pin.master_cs_pol &= ~(1 << cs);
     }
     }
 }
 }
 
 
@@ -599,7 +599,7 @@ static inline void spi_ll_master_set_cksel(spi_dev_t *hw, int cs, uint32_t cksel
     if (cksel) {
     if (cksel) {
         hw->pin.master_ck_sel |= (1 << cs);
         hw->pin.master_ck_sel |= (1 << cs);
     } else {
     } else {
-        hw->pin.master_ck_sel &= (1 << cs);
+        hw->pin.master_ck_sel &= ~(1 << cs);
     }
     }
 }
 }