Browse Source

End of branch...

Vladimir N. Shilov 1 year ago
parent
commit
b48e00abb5
2 changed files with 13 additions and 10 deletions
  1. 3 0
      ReadMe.txt
  2. 10 10
      lib/i2c.c

+ 3 - 0
ReadMe.txt

@@ -1,2 +1,5 @@
 Спроба приєднати сенсор HTU-21D та виводити температуру та вологість.
 Аналоги сенсору - Si-7021, SHT-21...
+
+Мій HTU-21D виявився дохлим - показник вологості постійно 119, температура - 
+якась мачня. Якщо не знайду в себе аналогу то буду пробувати інший датчик.

+ 10 - 10
lib/i2c.c

@@ -131,14 +131,14 @@ t_i2c_status i2c_rd_data(const uint8_t address, const uint8_t num_bytes_to_rd, u
     wait_event(!(I2C->SR1 & I2C_SR1_ADDR), 2);
     
     //Заплатка из Errata
-    __disable_interrupt();
+    disableInterrupts();
     //Очистка бита ADDR чтением регистра SR3
     I2C->SR3;
     
     //Устанавлием бит STOP
     I2C->CR2 |= I2C_CR2_STOP;
     //Заплатка из Errata
-    __enable_interrupt();
+    enableInterrupts();
     
     //Ждем прихода данных в RD
     wait_event(!(I2C->SR1 & I2C_SR1_RXNE), 2);
@@ -153,25 +153,25 @@ t_i2c_status i2c_rd_data(const uint8_t address, const uint8_t num_bytes_to_rd, u
     //Ждем подтверждения передачи адреса
     wait_event(!(I2C->SR1 & I2C_SR1_ADDR), 2);
     //Заплатка из Errata
-    __disable_interrupt();
+    disableInterrupts();
     //Очистка бита ADDR чтением регистра SR3
     I2C->SR3;
     //Запрещаем подтверждение в конце посылки
     I2C->CR2 &= ~I2C_CR2_ACK;
     //Заплатка из Errata
-    __enable_interrupt();
+    enableInterrupts();
     //Ждем момента, когда первый байт окажется в DR,
     //а второй в сдвиговом регистре
     wait_event(!(I2C->SR1 & I2C_SR1_BTF), 2);
     
     //Заплатка из Errata
-    __disable_interrupt();
+    disableInterrupts();
     //Устанавлием бит STOP
     I2C->CR2 |= I2C_CR2_STOP;
     //Читаем принятые байты
     *data++ = I2C->DR;
     //Заплатка из Errata
-    __enable_interrupt();
+    enableInterrupts();
     *data = I2C->DR;
   } 
   //N>2
@@ -180,13 +180,13 @@ t_i2c_status i2c_rd_data(const uint8_t address, const uint8_t num_bytes_to_rd, u
     wait_event(!(I2C->SR1 & I2C_SR1_ADDR), 2);
     
     //Заплатка из Errata
-    __disable_interrupt();
+    disableInterrupts();
     
     //Очистка бита ADDR чтением регистра SR3
     I2C->SR3;
     
     //Заплатка из Errata
-    __enable_interrupt();
+    enableInterrupts();
     
     while (length-- > 3 && I2C_timeout) {
       //Ожидаем появления данных в DR и сдвиговом регистре
@@ -204,7 +204,7 @@ t_i2c_status i2c_rd_data(const uint8_t address, const uint8_t num_bytes_to_rd, u
     //Запрещаем подтверждение в конце посылки
     I2C->CR2 &= ~I2C_CR2_ACK;
     //Заплатка из Errata
-    __disable_interrupt();
+    disableInterrupts();
     //Читаем N-2 байт из RD, тем самым позволяя принять в сдвиговый
     //регистр байт N, но теперь в конце приема отправится посылка NACK
     *data++ = I2C->DR;
@@ -213,7 +213,7 @@ t_i2c_status i2c_rd_data(const uint8_t address, const uint8_t num_bytes_to_rd, u
     //Читаем N-1 байт
     *data++ = I2C->DR;
     //Заплатка из Errata
-    __enable_interrupt();
+    enableInterrupts();
     //Ждем, когда N-й байт попадет в DR из сдвигового регистра
     wait_event(!(I2C->SR1 & I2C_SR1_RXNE), 2);
     //Читаем N байт