Compare commits

...

2 commits

Author SHA1 Message Date
Neluji
1556c5145f Configuration fonct OK 2020-11-22 18:49:30 +01:00
Neluji
fff46d3a15 USART init 2020-11-04 09:27:31 +01:00
4 changed files with 147 additions and 10 deletions

View file

@ -420,7 +420,7 @@
<GroupNumber>1</GroupNumber> <GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber> <FileNumber>1</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>../Src/main.c</PathWithFileName> <PathWithFileName>../Src/main.c</PathWithFileName>
@ -448,7 +448,7 @@
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>2</FileNumber> <FileNumber>2</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\MyDrivers\MyTimer.c</PathWithFileName> <PathWithFileName>..\MyDrivers\MyTimer.c</PathWithFileName>
@ -456,6 +456,18 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\MyDrivers\MyUSART.c</PathWithFileName>
<FilenameWithoutPath>MyUSART.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@ -466,7 +478,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>3</FileNumber> <FileNumber>4</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -478,7 +490,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>4</FileNumber> <FileNumber>5</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -490,7 +502,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>5</FileNumber> <FileNumber>6</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -502,7 +514,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>6</FileNumber> <FileNumber>7</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -514,7 +526,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>7</FileNumber> <FileNumber>8</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -534,7 +546,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>8</FileNumber> <FileNumber>9</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -554,7 +566,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>9</FileNumber> <FileNumber>10</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
@ -574,7 +586,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>7</GroupNumber> <GroupNumber>7</GroupNumber>
<FileNumber>10</FileNumber> <FileNumber>11</FileNumber>
<FileType>2</FileType> <FileType>2</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>

View file

@ -400,6 +400,11 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\MyDrivers\MyTimer.c</FilePath> <FilePath>..\MyDrivers\MyTimer.c</FilePath>
</File> </File>
<File>
<FileName>MyUSART.c</FileName>
<FileType>1</FileType>
<FilePath>..\MyDrivers\MyUSART.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -861,6 +866,11 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\MyDrivers\MyTimer.c</FilePath> <FilePath>..\MyDrivers\MyTimer.c</FilePath>
</File> </File>
<File>
<FileName>MyUSART.c</FileName>
<FileType>1</FileType>
<FilePath>..\MyDrivers\MyUSART.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>

71
MyDrivers/MyUSART.c Normal file
View file

@ -0,0 +1,71 @@
#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;
LL_USART_ClockInitTypeDef My_LL_USART_Clock;
// 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);
//Activation clk de l'USART en entrée et sortie
LL_USART_ClockStructInit(&My_LL_USART_Clock);
My_LL_USART_Clock.ClockOutput = LL_USART_CLOCK_ENABLE;
LL_USART_ClockInit(USART, &My_LL_USART_Clock);
//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);
LL_USART_Enable(USART);
}
/**
* @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);
while (LL_USART_IsActiveFlag_TC(USART) != 1){}
}

44
MyDrivers/MyUSART.h Normal file
View 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