USART init
This commit is contained in:
parent
c3308df689
commit
fff46d3a15
2 changed files with 107 additions and 0 deletions
63
MyDrivers/MyUSART.c
Normal file
63
MyDrivers/MyUSART.c
Normal file
|
@ -0,0 +1,63 @@
|
|||
#include "MyUSART.h"
|
||||
#include "stm32f1xx_ll_bus.h" // Pour l'activation des horloges
|
||||
#include "stm32f1xx_ll_usart.h"
|
||||
|
||||
|
||||
/**
|
||||
* @brief Active l'horloge et règle les paramètres de transmission
|
||||
* @note Fonction à lancer avant toute autre.
|
||||
* @param USART_TypeDef UsDollar : indique le usart à utiliser par le uC, USART1, USART2 ou USART3
|
||||
* @retval None
|
||||
*/
|
||||
void MyUSART_Conf(USART_TypeDef * USART, int TransferDir)
|
||||
{
|
||||
LL_USART_InitTypeDef My_LL_USART_Init_Struct;
|
||||
|
||||
// Validation horloge locale
|
||||
if (USART==USART1) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1);
|
||||
else if (USART==USART2) LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_USART2);
|
||||
else LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_USART3);
|
||||
|
||||
//Initialisation de l'USART
|
||||
LL_USART_StructInit(&My_LL_USART_Init_Struct);
|
||||
|
||||
My_LL_USART_Init_Struct.TransferDirection = TransferDir;
|
||||
|
||||
LL_USART_Init(USART, &My_LL_USART_Init_Struct);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Autorise les interruptions de TXE
|
||||
* @note
|
||||
* @param USART_TypeDef UsDollar : indique le usart à utiliser par le uC, USART1, USART2 ou USART3
|
||||
* @retval None
|
||||
*/
|
||||
void MyUSART_IT_Enable(USART_TypeDef * USART)
|
||||
{
|
||||
LL_USART_EnableIT_TXE(USART);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Interdit les interruptions de TXE
|
||||
* @note
|
||||
* @param USART_TypeDef UsDollar : indique le usart à utiliser par le uC, USART1, USART2 ou USART3
|
||||
* @retval None
|
||||
*/
|
||||
void MyUSART_IT_Disable(USART_TypeDef * USART)
|
||||
{
|
||||
LL_USART_DisableIT_TXE(USART);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Transmet 8bits de donnée
|
||||
* @note
|
||||
* @param USART_TypeDef UsDollar : indique le usart à utiliser par le uC, USART1, USART2 ou USART3
|
||||
* @retval None
|
||||
*/
|
||||
void MyUSART_Transmit_Data_8b(USART_TypeDef * USART, int data)
|
||||
{
|
||||
LL_USART_TransmitData8(USART, data);
|
||||
}
|
44
MyDrivers/MyUSART.h
Normal file
44
MyDrivers/MyUSART.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef MY_USART_H
|
||||
#define MY_USART_H
|
||||
|
||||
/*
|
||||
Driver pour USART 1 à 3 du STM32F103RB
|
||||
|
||||
*/
|
||||
|
||||
#include "stm32f103xb.h"
|
||||
|
||||
/**
|
||||
* @brief Active l'horloge et règle les paramètres de transmission
|
||||
* @note Fonction à lancer avant toute autre.
|
||||
* @param USART_TypeDef UsDollar : indique le usart à utiliser par le uC, USART1, USART2 ou USART3
|
||||
* @retval None
|
||||
*/
|
||||
void MyUSART_Conf(USART_TypeDef * USART, int TransferDir);
|
||||
|
||||
/**
|
||||
* @brief Autorise les interruptions de TXE
|
||||
* @note
|
||||
* @param USART_TypeDef UsDollar : indique le usart à utiliser par le uC, USART1, USART2 ou USART3
|
||||
* @retval None
|
||||
*/
|
||||
void MyUSART_IT_Enable(USART_TypeDef * USART);
|
||||
|
||||
/**
|
||||
* @brief Interdit les interruptions de TXE
|
||||
* @note
|
||||
* @param USART_TypeDef UsDollar : indique le usart à utiliser par le uC, USART1, USART2 ou USART3
|
||||
* @retval None
|
||||
*/
|
||||
void MyUSART_IT_Disable(USART_TypeDef * USART);
|
||||
|
||||
/**
|
||||
* @brief Transmet 8bits de donnée
|
||||
* @note
|
||||
* @param USART_TypeDef UsDollar : indique le usart à utiliser par le uC, USART1, USART2 ou USART3
|
||||
* @retval None
|
||||
*/
|
||||
void MyUSART_Transmit_Data_8b(USART_TypeDef * USART, int data);
|
||||
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue