Subversion Repositories FuelGauge

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 6
Line 51... Line 51...
51
#define IS_LL_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) <= 6000000U)
51
#define IS_LL_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) <= 6000000U)
52
 
52
 
53
/* __VALUE__ In case of oversampling by 16 and 8, BRR content must be greater than or equal to 16d. */
53
/* __VALUE__ In case of oversampling by 16 and 8, BRR content must be greater than or equal to 16d. */
54
#define IS_LL_USART_BRR_MIN(__VALUE__) ((__VALUE__) >= 16U)
54
#define IS_LL_USART_BRR_MIN(__VALUE__) ((__VALUE__) >= 16U)
55
 
55
 
56
/* __VALUE__ BRR content must be lower than or equal to 0xFFFF. */
-
 
57
#define IS_LL_USART_BRR_MAX(__VALUE__) ((__VALUE__) <= 0x0000FFFFU)
-
 
58
 
-
 
59
#define IS_LL_USART_DIRECTION(__VALUE__) (((__VALUE__) == LL_USART_DIRECTION_NONE) \
56
#define IS_LL_USART_DIRECTION(__VALUE__) (((__VALUE__) == LL_USART_DIRECTION_NONE) \
60
                                          || ((__VALUE__) == LL_USART_DIRECTION_RX) \
57
                                          || ((__VALUE__) == LL_USART_DIRECTION_RX) \
61
                                          || ((__VALUE__) == LL_USART_DIRECTION_TX) \
58
                                          || ((__VALUE__) == LL_USART_DIRECTION_TX) \
62
                                          || ((__VALUE__) == LL_USART_DIRECTION_TX_RX))
59
                                          || ((__VALUE__) == LL_USART_DIRECTION_TX_RX))
63
 
60
 
Line 69... Line 66...
69
#define IS_LL_USART_DATAWIDTH(__VALUE__) (((__VALUE__) == LL_USART_DATAWIDTH_7B) \
66
#define IS_LL_USART_DATAWIDTH(__VALUE__) (((__VALUE__) == LL_USART_DATAWIDTH_7B) \
70
                                          || ((__VALUE__) == LL_USART_DATAWIDTH_8B) \
67
                                          || ((__VALUE__) == LL_USART_DATAWIDTH_8B) \
71
                                          || ((__VALUE__) == LL_USART_DATAWIDTH_9B))
68
                                          || ((__VALUE__) == LL_USART_DATAWIDTH_9B))
72
#else
69
#else
73
#define IS_LL_USART_DATAWIDTH(__VALUE__) (((__VALUE__) == LL_USART_DATAWIDTH_8B) \
70
#define IS_LL_USART_DATAWIDTH(__VALUE__) (((__VALUE__) == LL_USART_DATAWIDTH_8B) \
74
                                       || ((__VALUE__) == LL_USART_DATAWIDTH_9B))
71
                                          || ((__VALUE__) == LL_USART_DATAWIDTH_9B))
75
#endif /* USART_7BITS_SUPPORT */
72
#endif /* USART_7BITS_SUPPORT */
76
 
73
 
77
#define IS_LL_USART_OVERSAMPLING(__VALUE__) (((__VALUE__) == LL_USART_OVERSAMPLING_16) \
74
#define IS_LL_USART_OVERSAMPLING(__VALUE__) (((__VALUE__) == LL_USART_OVERSAMPLING_16) \
78
                                             || ((__VALUE__) == LL_USART_OVERSAMPLING_8))
75
                                             || ((__VALUE__) == LL_USART_OVERSAMPLING_8))
79
 
76
 
Line 220... Line 217...
220
}
217
}
221
 
218
 
222
/**
219
/**
223
  * @brief  Initialize USART registers according to the specified
220
  * @brief  Initialize USART registers according to the specified
224
  *         parameters in USART_InitStruct.
221
  *         parameters in USART_InitStruct.
225
  * @note   As some bits in USART configuration registers can only be written when the USART is disabled (USART_CR1_UE bit =0),
222
  * @note   As some bits in USART configuration registers can only be written when
-
 
223
  *         the USART is disabled (USART_CR1_UE bit =0), USART Peripheral should be in disabled state prior calling
226
  *         USART Peripheral should be in disabled state prior calling this function. Otherwise, ERROR result will be returned.
224
  *         this function. Otherwise, ERROR result will be returned.
227
  * @note   Baud rate value stored in USART_InitStruct BaudRate field, should be valid (different from 0).
225
  * @note   Baud rate value stored in USART_InitStruct BaudRate field, should be valid (different from 0).
228
  * @param  USARTx USART Instance
226
  * @param  USARTx USART Instance
229
  * @param  USART_InitStruct pointer to a LL_USART_InitTypeDef structure
227
  * @param  USART_InitStruct pointer to a LL_USART_InitTypeDef structure
230
  *         that contains the configuration information for the specified USART peripheral.
228
  *         that contains the configuration information for the specified USART peripheral.
231
  * @retval An ErrorStatus enumeration value:
229
  * @retval An ErrorStatus enumeration value:
Line 274... Line 272...
274
     */
272
     */
275
    LL_USART_SetStopBitsLength(USARTx, USART_InitStruct->StopBits);
273
    LL_USART_SetStopBitsLength(USARTx, USART_InitStruct->StopBits);
276
 
274
 
277
    /*---------------------------- USART CR3 Configuration ---------------------
275
    /*---------------------------- USART CR3 Configuration ---------------------
278
     * Configure USARTx CR3 (Hardware Flow Control) with parameters:
276
     * Configure USARTx CR3 (Hardware Flow Control) with parameters:
279
     * - HardwareFlowControl: USART_CR3_RTSE, USART_CR3_CTSE bits according to USART_InitStruct->HardwareFlowControl value.
277
     * - HardwareFlowControl: USART_CR3_RTSE, USART_CR3_CTSE bits according to
-
 
278
     *   USART_InitStruct->HardwareFlowControl value.
280
     */
279
     */
281
    LL_USART_SetHWFlowCtrl(USARTx, USART_InitStruct->HardwareFlowControl);
280
    LL_USART_SetHWFlowCtrl(USARTx, USART_InitStruct->HardwareFlowControl);
282
 
281
 
283
    /*---------------------------- USART BRR Configuration ---------------------
282
    /*---------------------------- USART BRR Configuration ---------------------
284
     * Retrieve Clock frequency used for USART Peripheral
283
     * Retrieve Clock frequency used for USART Peripheral
Line 328... Line 327...
328
    }
327
    }
329
#endif /* USART5 */
328
#endif /* USART5 */
330
#if defined(USART6)
329
#if defined(USART6)
331
    else if (USARTx == USART6)
330
    else if (USARTx == USART6)
332
    {
331
    {
333
      /* USART6 clock is PCLK */
332
      /* USART6 clock is PCLK1 */
334
      LL_RCC_GetSystemClocksFreq(&RCC_Clocks);
333
      LL_RCC_GetSystemClocksFreq(&RCC_Clocks);
335
      periphclk = RCC_Clocks.PCLK1_Frequency;
334
      periphclk = RCC_Clocks.PCLK1_Frequency;
336
    }
335
    }
337
#endif /* USART6 */
336
#endif /* USART6 */
338
#if defined(USART7)
337
#if defined(USART7)
Line 369... Line 368...
369
                           USART_InitStruct->OverSampling,
368
                           USART_InitStruct->OverSampling,
370
                           USART_InitStruct->BaudRate);
369
                           USART_InitStruct->BaudRate);
371
 
370
 
372
      /* Check BRR is greater than or equal to 16d */
371
      /* Check BRR is greater than or equal to 16d */
373
      assert_param(IS_LL_USART_BRR_MIN(USARTx->BRR));
372
      assert_param(IS_LL_USART_BRR_MIN(USARTx->BRR));
374
 
-
 
375
      /* Check BRR is lower than or equal to 0xFFFF */
-
 
376
      assert_param(IS_LL_USART_BRR_MAX(USARTx->BRR));
-
 
377
    }
373
    }
378
  }
374
  }
379
  /* Endif (=> USART not in Disabled state => return ERROR) */
375
  /* Endif (=> USART not in Disabled state => return ERROR) */
380
 
376
 
381
  return (status);
377
  return (status);
Line 401... Line 397...
401
}
397
}
402
 
398
 
403
/**
399
/**
404
  * @brief  Initialize USART Clock related settings according to the
400
  * @brief  Initialize USART Clock related settings according to the
405
  *         specified parameters in the USART_ClockInitStruct.
401
  *         specified parameters in the USART_ClockInitStruct.
406
  * @note   As some bits in USART configuration registers can only be written when the USART is disabled (USART_CR1_UE bit =0),
402
  * @note   As some bits in USART configuration registers can only be written when
-
 
403
  *         the USART is disabled (USART_CR1_UE bit =0), USART Peripheral should be in disabled state prior calling
407
  *         USART Peripheral should be in disabled state prior calling this function. Otherwise, ERROR result will be returned.
404
  *         this function. Otherwise, ERROR result will be returned.
408
  * @param  USARTx USART Instance
405
  * @param  USARTx USART Instance
409
  * @param  USART_ClockInitStruct pointer to a @ref LL_USART_ClockInitTypeDef structure
406
  * @param  USART_ClockInitStruct pointer to a @ref LL_USART_ClockInitTypeDef structure
410
  *         that contains the Clock configuration information for the specified USART peripheral.
407
  *         that contains the Clock configuration information for the specified USART peripheral.
411
  * @retval An ErrorStatus enumeration value:
408
  * @retval An ErrorStatus enumeration value:
412
  *          - SUCCESS: USART registers related to Clock settings are initialized according to USART_ClockInitStruct content
409
  *          - SUCCESS: USART registers related to Clock settings are initialized according
-
 
410
  *                     to USART_ClockInitStruct content
413
  *          - ERROR: Problem occurred during USART Registers initialization
411
  *          - ERROR: Problem occurred during USART Registers initialization
414
  */
412
  */
415
ErrorStatus LL_USART_ClockInit(USART_TypeDef *USARTx, LL_USART_ClockInitTypeDef *USART_ClockInitStruct)
413
ErrorStatus LL_USART_ClockInit(USART_TypeDef *USARTx, LL_USART_ClockInitTypeDef *USART_ClockInitStruct)
416
{
414
{
417
  ErrorStatus status = SUCCESS;
415
  ErrorStatus status = SUCCESS;
Line 422... Line 420...
422
 
420
 
423
  /* USART needs to be in disabled state, in order to be able to configure some bits in
421
  /* USART needs to be in disabled state, in order to be able to configure some bits in
424
     CRx registers */
422
     CRx registers */
425
  if (LL_USART_IsEnabled(USARTx) == 0U)
423
  if (LL_USART_IsEnabled(USARTx) == 0U)
426
  {
424
  {
427
    /*---------------------------- USART CR2 Configuration -----------------------*/
-
 
428
    /* If Clock signal has to be output */
425
    /* If USART Clock signal is disabled */
429
    if (USART_ClockInitStruct->ClockOutput == LL_USART_CLOCK_DISABLE)
426
    if (USART_ClockInitStruct->ClockOutput == LL_USART_CLOCK_DISABLE)
430
    {
427
    {
431
      /* Deactivate Clock signal delivery :
428
      /* Deactivate Clock signal delivery :
432
       * - Disable Clock Output:        USART_CR2_CLKEN cleared
429
       * - Disable Clock Output:        USART_CR2_CLKEN cleared
433
       */
430
       */
Line 473... Line 470...
473
  */
470
  */
474
void LL_USART_ClockStructInit(LL_USART_ClockInitTypeDef *USART_ClockInitStruct)
471
void LL_USART_ClockStructInit(LL_USART_ClockInitTypeDef *USART_ClockInitStruct)
475
{
472
{
476
  /* Set LL_USART_ClockInitStruct fields with default values */
473
  /* Set LL_USART_ClockInitStruct fields with default values */
477
  USART_ClockInitStruct->ClockOutput       = LL_USART_CLOCK_DISABLE;
474
  USART_ClockInitStruct->ClockOutput       = LL_USART_CLOCK_DISABLE;
478
  USART_ClockInitStruct->ClockPolarity     = LL_USART_POLARITY_LOW;            /* Not relevant when ClockOutput = LL_USART_CLOCK_DISABLE */
475
  USART_ClockInitStruct->ClockPolarity     = LL_USART_POLARITY_LOW;            /* Not relevant when ClockOutput =
-
 
476
                                                                                  LL_USART_CLOCK_DISABLE */
479
  USART_ClockInitStruct->ClockPhase        = LL_USART_PHASE_1EDGE;             /* Not relevant when ClockOutput = LL_USART_CLOCK_DISABLE */
477
  USART_ClockInitStruct->ClockPhase        = LL_USART_PHASE_1EDGE;             /* Not relevant when ClockOutput =
-
 
478
                                                                                  LL_USART_CLOCK_DISABLE */
480
  USART_ClockInitStruct->LastBitClockPulse = LL_USART_LASTCLKPULSE_NO_OUTPUT;  /* Not relevant when ClockOutput = LL_USART_CLOCK_DISABLE */
479
  USART_ClockInitStruct->LastBitClockPulse = LL_USART_LASTCLKPULSE_NO_OUTPUT;  /* Not relevant when ClockOutput =
-
 
480
                                                                                  LL_USART_CLOCK_DISABLE */
481
}
481
}
482
 
482
 
483
/**
483
/**
484
  * @}
484
  * @}
485
  */
485
  */