Kaynağa Gözat

Fix errors #2.

Vladimir N. Shilov 4 yıl önce
ebeveyn
işleme
5184517813
2 değiştirilmiş dosya ile 8 ekleme ve 8 silme
  1. 2 2
      Inc/main.h
  2. 6 6
      Src/main.c

+ 2 - 2
Inc/main.h

@@ -144,9 +144,9 @@ void Error_Handler(void);
 #define USE_FULL_LL_DRIVER 1
 
 /* 0xd0 */
-#define I2C_ADDR_RTC      0x68
+#define I2C_ADDR_RTC      (0x68 << 1)
 /* 0x76 */
-#define I2C_ADDR_BME      0x3b
+#define I2C_ADDR_BME      (0x3b << 1)
 
 /* USER CODE END Private defines */
 

+ 6 - 6
Src/main.c

@@ -253,7 +253,7 @@ static void RTC_Init(void) {
 
   /* Wait for I2C */
   while ( I2C1->ISR & I2C_ISR_BUSY ) {};
-  I2C1->CR1 &= ~I2C_CR1_PE;
+  //I2C1->CR1 &= ~I2C_CR1_PE;
 
   /* Fill buffer with register address and register value */
   i2cBufTX[0] = DS3231_CONTROL_ADDR;
@@ -264,16 +264,16 @@ static void RTC_Init(void) {
   LL_I2C_SetTransferRequest(I2C1, LL_I2C_REQUEST_WRITE);
   LL_I2C_SetTransferSize(I2C1, 3); // controll addr + 2 bytes of data
   LL_I2C_EnableDMAReq_TX(I2C1);
-  I2C2->CR1 |= I2C_CR1_PE;
+  //I2C1->CR1 |= I2C_CR1_PE;
   LL_I2C_GenerateStartCondition(I2C1);
 
   /* Set AUTOEND mode, the device address and number bytes to send. */
-//  I2C1->CR2 &= ~( I2C_CR2_SADD | I2C_CR2_NBYTES | AUTOEND );
-///  I2C1->CR2 = ( I2C_CR2_AUTOEND | I2C_ADDR_RTC << I2C_CR2_SADD_Pos | 2 << I2C_CR2_NBYTES_Pos );
+//  I2C1->CR2 &= ~( I2C_CR2_SADD | I2C_CR2_NBYTES);
+//  I2C1->CR2 = ( I2C_ADDR_RTC << I2C_CR2_SADD_Pos | 3 << I2C_CR2_NBYTES_Pos );
   /* Enable I2C DMA requests. */
-///  I2C1->CR1 |= ( I2C_CR1_TXDMAEN );
+//  I2C1->CR1 |= ( I2C_CR1_TXDMAEN );
   /* Send a start signal. */
-///  I2C1->CR2 |= ( I2C_CR2_START );
+//  I2C1->CR2 |= ( I2C_CR2_START );
   /* (DMA is now running.) */
 }