diff --git a/Drivers/Include/Driver_UART.h b/Drivers/Include/Driver_UART.h new file mode 100644 index 0000000..77556d9 --- /dev/null +++ b/Drivers/Include/Driver_UART.h @@ -0,0 +1,11 @@ +#ifndef MYUART_H +#define MYUART_H + +#include "stm32f10x.h" + +void UART_send(char data); +void UART_init(); + + + +#endif diff --git a/Drivers/Sources/Driver_UART.c b/Drivers/Sources/Driver_UART.c new file mode 100644 index 0000000..396c0c8 --- /dev/null +++ b/Drivers/Sources/Driver_UART.c @@ -0,0 +1,21 @@ +#include "Driver_UART.h" + + +void UART_init() + { + RCC->APB2ENR |= RCC_APB2ENR_USART1EN; // Validation horloge USART1 + USART1->CR1 |= USART_CR1_UE; // Activer l'USART + USART1->CR1 &= ~USART_CR1_M; // Choisir la taille 8bits de donnée + USART1->CR2 |= USART_CR2_STOP; // 1 seul bit de stop + USART1->BRR |= 468 << 4; // Fixe le baud rate à 9600bps + USART1->BRR |= 75; // Fixe le baud rate à 9600bps partie fractionnaire + //USART1->BRR = 72000000/9600; // Fixer le Baudrate à 9600 + USART1->CR1 |= USART_CR1_TE; + } + +void UART_send(char data) + { + USART1->DR |= data; + while(!(USART1->SR & USART_SR_TC)){} //Attendre la fin de transmission + } + \ No newline at end of file diff --git a/GPIO_Test/GPIO_Test.uvoptx b/GPIO_Test/GPIO_Test.uvoptx index cfed698..66c8b4b 100644 --- a/GPIO_Test/GPIO_Test.uvoptx +++ b/GPIO_Test/GPIO_Test.uvoptx @@ -125,7 +125,7 @@ 0 DLGDARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=297,604,718,1031,0)(121=-1,-1,-1,-1,0)(122=546,289,967,716,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=911,135,1505,886,0)(131=997,343,1591,1094,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=297,604,718,1031,0)(121=-1,-1,-1,-1,0)(122=546,289,967,716,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=911,135,1505,886,0)(131=997,343,1591,1094,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=949,269,1397,683,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) 0 @@ -143,7 +143,40 @@ -U -O206 -S8 -C0 -P00 -N00("") -D00(00000000) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM) - + + + 0 + 0 + 47 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + .\Sources\Main.c + + +
+ + 1 + 0 + 47 + 1 +
134219276
+ 0 + 0 + 0 + 0 + 0 + 1 + U:\INSA\Microcontrôleur\Projet_Voilier_grp\Voilier\GPIO_Test\Sources\Main.c + + \\GPIO_Test\Sources/Main.c\47 +
+
0 @@ -416,24 +449,12 @@ 1 3 - 5 - 0 + 1 + 1 0 0 - ..\Drivers\Include\Driver_GPIO.h - Driver_GPIO.h - 0 - 0 - - - 1 - 4 - 5 - 0 - 0 - 0 - ..\Drivers\Include\Driver_Timer.h - Driver_Timer.h + ..\Drivers\Sources\Driver_UART.c + Driver_UART.c 0 0 @@ -447,7 +468,7 @@ 0 2 - 5 + 4 1 1 0 diff --git a/GPIO_Test/GPIO_Test.uvprojx b/GPIO_Test/GPIO_Test.uvprojx index b649e18..1c6256e 100644 --- a/GPIO_Test/GPIO_Test.uvprojx +++ b/GPIO_Test/GPIO_Test.uvprojx @@ -394,14 +394,9 @@ ..\Drivers\Sources\Driver_Timer.c - Driver_GPIO.h - 5 - ..\Drivers\Include\Driver_GPIO.h - - - Driver_Timer.h - 5 - ..\Drivers\Include\Driver_Timer.h + Driver_UART.c + 1 + ..\Drivers\Sources\Driver_UART.c @@ -811,14 +806,9 @@ ..\Drivers\Sources\Driver_Timer.c - Driver_GPIO.h - 5 - ..\Drivers\Include\Driver_GPIO.h - - - Driver_Timer.h - 5 - ..\Drivers\Include\Driver_Timer.h + Driver_UART.c + 1 + ..\Drivers\Sources\Driver_UART.c diff --git a/GPIO_Test/Sources/Main.c b/GPIO_Test/Sources/Main.c index 8d83a8c..912189b 100644 --- a/GPIO_Test/Sources/Main.c +++ b/GPIO_Test/Sources/Main.c @@ -1,5 +1,9 @@ #include "Driver_GPIO.h" #include "Driver_Timer.h" +#include "Driver_UART.h" + + char data = 'A'; + int cmp = 0; int main (void){ //Déclaration d'une LED et d'un BP par structure GPIO @@ -36,6 +40,16 @@ int main (void){ MyTimer_PWM(&TIM500ms, 50); + + UART_init(); + + while (cmp < 26) { + UART_send(data+cmp); + cmp ++; + } + + + while(1){ // if (MyGPIO_Read(BP.GPIO,BP.GPIO_Pin)==0){ // MyGPIO_Set(LED.GPIO,LED.GPIO_Pin); @@ -52,4 +66,4 @@ void TIM2_IRQHandler (void) MyGPIO_Toggle(GPIOA,5); TIM2->SR &= ~(1<<0); } -*/ \ No newline at end of file +*/