added time management, formatting still missing

This commit is contained in:
alejeune 2022-11-25 18:33:51 +01:00
parent f455fed0de
commit ec189113c2
49 changed files with 640 additions and 84 deletions

Binary file not shown.

View file

@ -10,7 +10,6 @@ void EXTI0_IRQHandler(void) {
EXTI->PR |= (1<<0) ;
}
void Init_Girouette(void){
MyGPIO_Struct_TypeDef GPIOA0={

229
FileInclude/MyI2C.h Normal file
View file

@ -0,0 +1,229 @@
#ifndef _I2C_
#define _I2C_
#include "stm32f10x.h"
/*************************************************************************************
===================== By Periph team INSA GEI 2022 ===========================
*************************************************************************************/
/*
*************************************************************************************
===================== I2C les IO STM32F103 =================================
*************************************************************************************
Les IO sont pris en charge par la lib, pas besoin de faire les configurations Alt OD.
**I2C1**
SCL PB6
SDA PB7
**I2C2**
SCL PB10
SDA PB11
*************************************************************************************
==================== Fondamentaux I2C ==========================================
*************************************************************************************
- Bus synchrone Low speed (<100kHz) ou high speed (=400kHz), Ici Low speed 100kHz.
- Transfert octet par octet, poids fort en premier, avec aquittement pour chaque octet
- Deux lignes SDA et SCL (horloge) en open drain, repos '1'
- bit "normal" = SDA stable lors du pulse SCL (ie durant l'état haut de SCL, SDA est stable)
- bit Start/Stop/Restart = SDA non stable lorsque SCL vaut '1' (violation règle précédente)
* Start : front descendant de SDA lorsque SCL vaut '1'
* Stop : front montant de SDA lorsque SCL = '1'
* Restart = Start en cours de trame (typiquement pour changer Write/read).
- uC en Mode Master uniquement (c'est notre choix) : c'est le uC qui est maître de l'horloge SCL.
- Le Slave a une @ 7 bits. On ajoute un bit LSB qui est /WR (donc 0 pour écriture, 1 pour lecture)
- Une adresse s'écrit donc |a6 a5 a4 a3 a2 a1 a0 /WR| ce qui donne 8 bits. Elle indique une future
lecture ou écriture.
On parle d'@ 7 bits en regroupant |a6 a5 a4 a3 a2 a1 a0|
On parle d'@ 8 bits en regroupant |a6 a5 a4 a3 a2 a1 a0 /WR| (donc une @ écriture, une @ lecture)
NB : préférer le concept @7bits...c'est plus clair.
- On peut lire ou écrire une ou plusieurs données à la suite. C'est lors de l'envoie de l'adresse Slave
par le Master que le sens à venir pour les datas est indiqué.
- En écriture,
* les Ack sont faits par le slave après chaque octet envoyé par le master (Ack = mise à 0 le bit 9).
- En lecture,
* dès que le l@ slave est transmise (/RW = 1), et le Ack réalisé, le slave positionne le bit 7
du prochain octet à lire sur SDA par anticipation ,
* le master enchaîne ses pulses (9), lors du pulse 9 (le dernier) c'est le master qui acquite.
* Après chaque acquitement, le Slave amorce le prochain octet en positionnant son bit 7 sur SDA
* Après le dernier octet, le Master génère un stop.
* Pour pouvoir générer le stop, le Master doit piloter SDA, or ce n'est pas possible puisque
le Slave positionne le futur bit 7 ... Pour régler ce problème :
lors du dernier transfert, le Master N'acquitte PAS (NACK). Ainsi le Slave ne
propose plus le bit 7 du prochain octet sur SDA et libère SDA. Le Master peut alors clôturer la
communication avec un Stop.
======= Echange typique avec un Slave ================================================================
- Une lecture ou écriture se fait vers un Slave et à partir d'une adresse mémoire donnée (pointeur interne).
Ce pointeur est automatiquement incrémenté dans le slave lors des accès écriture ou lecture.
- Ecriture de N octets , trame complète (@ = adresse slave, pt = valeur de chargement du pointeur interne)
|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|d7|d6|d5|d4|d3|d2|d1|d0|Slave ACK| (data 1)
.....
|d7|d6|d5|d4|d3|d2|d1|d0|Salve ACK|Stop Cond| (data N)
- Lecture de N octets à partir d'une adresse de pointeur donnée
|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|ReStart Cond |@6|@5|@4|@3|@2|@1|@0| Wr =1 |Slave ACK| (NB: restart nécessaire pour changer écriture / lecture)
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data 1)
.....
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data N-1)
|d7|d6|d5|d4|d3|d2|d1|d0|Master NACK|Stop Cond| (data N)
*************************************************************************************
==================== La lib I2C ==========================================
*************************************************************************************
3 fonctions essentielles :
MyI2C_Init
MyI2C_PutString
MyI2C_GetString
1 fonction spéciale : MyI2C_Get_Error
Les fonctions Put/Get string fonctionnent sur le principe classique décrit précédemment
(Slave@, Pter @, Data...).
La fonction init prend parmi ses paramètres le nom d'une fct callback d'erreur.
En fait, le driver gère en IT les erreurs possibles I2C. La fonction MyI2C_Get_Error permet de
recevoir un code erreur.
Il est conseillé d'utiliser ce callback. Si on tombe dedans, c'est qu'une erreur s'est produite.
Si le code erreur est "inconnu", souvent c'est qu'il y a un soucis à l'adressage slave:
Vérifier alors la connectique physique SDA/SCL ainsi que l'alimentation du slave ou tout simplement
l'@ slave !
==========================================================================================*/
/*=========================================================================================
GESTION ERREURS
========================================================================================= */
typedef enum
{
OK,
BusError, //
AckFail, // Pas,d'ack
TimeOut, // SCL est resté plus de 25ms à l'état bas
UnknownError // IT erreur déclenchée mais pas de flag explicite ...
} MyI2C_Err_Enum;
/**
* @brief Retourne les erreurs I2C
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
* @retval Type d'erreur rencontrée , voir MyI2C_Err_Enum
*/
MyI2C_Err_Enum MyI2C_Get_Error(I2C_TypeDef * I2Cx);
/*=========================================================================================
INITIALISATION I2C
========================================================================================= */
/**
* @brief Initialise l'interface I2C (1 ou 2)
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
* @param char IT_Prio_I2CErr 0 à 15 (utilisé en cas d'erreur, IT courte et non bloquante
* @param *ITErr_function : callback à utiliser pour sortir d'un plantage transmission
* @retval None
* @Example MyI2C_Init(I2C1, 2,My_CallbackErr);
*/
void MyI2C_Init(I2C_TypeDef * I2Cx, char IT_Prio_I2CErr, void (*ITErr_function) (void));
/*=========================================================================================
EMISSION I2C : PutString
========================================================================================= */
// Structure de données pour l'émission ou la réception I2C :
typedef struct
{
char SlaveAdress7bits; // l'adresse I2C du slave device
char * Ptr_Data; // l'adresse du début de tableau char à recevoir/émettre (tableau en RAM uC)
char Nb_Data; // le nbre d'octets à envoyer / recevoir
}
MyI2C_RecSendData_Typedef;
/**
* @brief|Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|d7|d6|d5|d4|d3|d2|d1|d0|Slave ACK| (data 1)
.....
|d7|d6|d5|d4|d3|d2|d1|d0|Salve ACK|Stop Cond| (data N)
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
* @param PteurAdress = adresse de démarrage écriture à l'interieur du slave I2C
* @param DataToSend, adresse de la structure qui contient les informations à transmettre
voir définition MyI2C_RecSendData_Typedef
* @retval None
* @Example MyI2C_PutString(I2C1,0xAA, &MyI2C_SendTimeData);
* Ecrit dans le slave câblé sur I2C1 à partir de l'@ mémoire interne Slave 0xAA
*/
void MyI2C_PutString(I2C_TypeDef * I2Cx, char PteurAdress, MyI2C_RecSendData_Typedef * DataToSend);
/*=========================================================================================
Réception I2C : GetString
========================================================================================= */
/**
* @brief |Start Cond |@6|@5|@4|@3|@2|@1|@0| Wr =0 |Slave ACK|
|pt7|pt6|pt5|pt4|pt3|pt2|pt1|pt0|Slave ACK|
|ReStart Cond |@6|@5|@4|@3|@2|@1|@0| Wr =1 |Slave ACK|
|d7|d6|d5|d4|d3|d2|d1|d0|Master ACK| (data 1)
.....
|d7|d6|d5|d4|d3|d2|d1|d0|Master NACK|Stop Cond| (data N)
* @param I2Cx: where x can be 1 or 2 to select the I2C peripheral.
* @param PteurAdress = adresse de démarrage lecture à l'interieur du slave I2C
* @param DataToSend, adresse de la structure qui contient les informations nécessaires à la
réception des données voir définition MyI2C_RecSendData_Typedef
* @retval None
* @Example MyI2C_GetString(I2C1,0xAA, &MyI2C_RecevievedTimeData);
Lit dans le slave câblé sur I2C1 à partir de l'@ mémoire interne Slave 0xAA
*/
void MyI2C_GetString(I2C_TypeDef * I2Cx, char PteurAdress, MyI2C_RecSendData_Typedef * DataToReceive);
#endif

32
FileInclude/MyIC2.c Normal file
View file

@ -0,0 +1,32 @@
#include "MyI2C.h"
void I2C_Init() {
/* Déclaration */
MyGPIO_Struct_TypeDef GPIOB6; // pin SCL
MyGPIO_Struct_TypeDef GPIOB7; // pin SDA
/* On reset les registres de l'I2C1 */
RCC->APB1RSTR |= RCC_APB1RSTR_I2C1RST; // reset en le mettant à 1
RCC->APB1RSTR &= ~RCC_APB1RSTR_I2C1RST;// et on remet le bit à 0 (reset termine)
RCC->APB1ENR |=RCC_APB1ENR_I2C1EN; // clock eanble
// reset software
I2C1->CR1 |= I2C_CR1_SWRST;
I2C1->CR1 &= ~I2C_CR1_SWRST;
/* Initialisation des GPIO */
GPIOB6.GPIO = GPIOB;
GPIOB6.GPIO_Pin = 6;
GPIOB6.GPIO_Conf = AltOut_Ppull;
GPIOB7.GPIO = GPIOB;
GPIOB7.GPIO_Pin = 7;
GPIOB7.GPIO_Conf = AltOut_Ppull;
MyGPIO_Init(&GPIOB6);
MyGPIO_Init(&GPIOB7);
I2C1->CCR &= ~(0x1 << 15); // mode SM ?
I2C1->CR1 |= I2C_CR1_PE; // Peripheral Enable
I2C1->CR2 |= 36; // 36MHz
I2C1->CCR |= 270; // on met le CCR à 270 pour avoir 100 kHz
}

129
FileInclude/MySPI.h Normal file
View file

@ -0,0 +1,129 @@
#ifndef INC_MYSPI_H_
#define INC_MYSPI_H_
#include "stm32f10x.h"
/*************************************************************************************
===================== By Periph team INSA GEI 2022 ===========================
*************************************************************************************/
/*
*************************************************************************************
===================== I2C les IO STM32F103 =================================
*************************************************************************************
Les IO sont pris en charge par la lib, pas besoin de faire les configurations
Sur la Nucléo , le SPI1 est perturbé par la LED2 (PA5), mais doit pouvoir subir les front SCK qd même (LED clignote vite..)
le SPI2 n'est pas utilisable car pin non connectées par défaut (sauf à modifier les SB). En fait la Nucléo fait un choix entre SPI1
et SPI2 par soudage jumper (SB).
-> Utiliser SPI1 avec la carte Nucléo
* **IO SPI 1**
SPI1_NSS PA4
SPI1_SCK PA5
SPI1_MISO PA6
SPI1_MOSI PA7
**IO SPI 2**
SPI2_NSS PB12
SPI2_SCK PB13
SPI2_MISO PB14
SPI2_MOSI PB15
*************************************************************************************
==================== Fondamentaux SPI ==========================================
*************************************************************************************
- Bus Synchrone, 4 fils (même si on peut l'utiliser en 3 fils)
- Transfert à l'octet
- Protocole entre un Master (contrôle SCK) et un Slave
- SCK permet de synchroniser les bits de chaque octet. Il se configure par :
* son niveau de repos : ici niveau '1'
* le front actif de synchronisation pour chaque bit : ici front montant (front up durant bit stable)
- /CS ou /NSS active le slave sur l'état bas
- MOSI : Master Out Slave In (donc data circulant du Master vers le Slave, donc écriture dans le Slave)
- MISO : Master In Slave Out (donc data circulant du Slave vers le Master, donc lecture du Slave)
Bien que la lib propose une fonction d'écriture et de lecture :
* une écriture s'accompagne obligatoirement d'une lecture (bidon)
* une lecture s'accompagne obligatoirement d'une écriture (bidon)
La gestion /CS = /NSS se fait "à la main". On peut alors lire toute une série d'octets
en laissant /CS à l'état bas pendant toute la durée de circulation des octets.
*************************************************************************************
==================== La lib SPI ==========================================
*************************************************************************************
fonctions essentielles :
MySPI_Init
MySPI_Send
MySPI_Read
MySPI_Set_NSS
MySPI_Clear_NSS
==========================================================================================*/
/*=========================================================================================
INITIALISATION SPI
========================================================================================= */
/**
* @brief Configure le SPI spécifié : FSCK = 281kHz, Repos SCK = '1', Front actif = up
Gestion /CS logicielle à part, configure les 4 IO
- SCK, MOSI : Out Alt push pull
- MISO : floating input
- /NSS (/CS) : Out push pull
* @param SPI_TypeDef * SPI : SPI1 ou SPI2
*/
void MySPI_Init(SPI_TypeDef * SPI);
/**
* @brief Envoie un octet (/CS non géré, à faire logiciellement)
Plus en détail, émission de l'octet souhaité sur MOSI
Lecture en même temps d'un octet poubelle sur MISO (non exploité)
* @param : char ByteToSend : l'octet à envoyer
*/
void MySPI_Send(char ByteToSend);
/**
* @brief Reçoit un octet (/CS non géré, à faire logiciellement)
Plus en détail, émission d'un octet bidon sur MOSI (0x00)
pour élaborer les 8 fronts sur SCK et donc piloter le slave en lecture
qui répond sur MISO
* @param : none
* @retval : l'octet lu.
*/
char MySPI_Read(void);
/**
* @brief Positionne /CS = /NSS à '1'. A utiliser pour borner les octets à transmettre/recevoir
* @param : none
*/
void MySPI_Set_NSS(void);
/**
* @brief Positionne /CS = /NSS à '0'. A utiliser pour borner les octets à transmettre/recevoir
* @param :none
*/
void MySPI_Clear_NSS(void);
#endif

26
FileInclude/Time.c Normal file
View file

@ -0,0 +1,26 @@
#include "MyI2C.h"
#include "Time.h"
#define NULL 0
MyI2C_RecSendData_Typedef Receive;
MyI2C_RecSendData_Typedef * RData = &Receive;
char* Get_Time(){
time varTime;
char input[7];
RData->SlaveAdress7bits = 0x68;
RData->Ptr_Data = input;
RData->Nb_Data = 7;
MyI2C_GetString(I2C1, 0x0, RData);
varTime.year = input[6];
varTime.month = input[5];
varTime.day = input[4];
varTime.weekday = input[3];
varTime.hour = input[2];
varTime.minute = input[1];
varTime.second = input[0];
return("coucou");
}

17
FileInclude/Time.h Normal file
View file

@ -0,0 +1,17 @@
#ifndef MYTIME_H
#define MYTIME_H
#include "stm32f10x.h"
typedef struct{
int year;
int month;
int day;
int weekday;
int hour;
int minute;
int second;
} time;
char* Get_Time(void);
#endif

View file

@ -465,12 +465,12 @@ ARM Macro Assembler Page 8
00000000
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\objects\startup_stm32f10x_md.d -o.\objects\startup_stm32f10x_md.
o -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\
CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_D
FP\2.3.0\Device\Include --predefine="__EVAL SETA 1" --predefine="__MICROLIB SET
A 1" --predefine="__UVISION_VERSION SETA 534" --predefine="_RTE_ SETA 1" --pred
efine="STM32F10X_MD SETA 1" --predefine="_RTE_ SETA 1" --list=.\listings\startu
p_stm32f10x_md.lst RTE\Device\STM32F103RB\startup_stm32f10x_md.s
o -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Pack
s\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32
F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL SETA 1" --predefine="__MICROL
IB SETA 1" --predefine="__UVISION_VERSION SETA 534" --predefine="_RTE_ SETA 1"
--predefine="STM32F10X_MD SETA 1" --predefine="_RTE_ SETA 1" --list=.\listings\
startup_stm32f10x_md.lst RTE\Device\STM32F103RB\startup_stm32f10x_md.s

View file

@ -1,6 +1,6 @@
Dependencies for Project 'Projet1', Target 'Réel': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Sources\main.c)(0x6380E187)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
F (.\Sources\main.c)(0x6380F673)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
@ -17,6 +17,8 @@ I (.\FileInclude\Telecommande.h)(0x6380DAE4)
I (.\FileInclude\Batterie.h)(0x6380DAE4)
I (.\FileInclude\MyGirouette.h)(0x6380DAE4)
I (.\FileInclude\MyVoile.h)(0x6380DAE4)
I (.\FileInclude\MyI2C.h)(0x634E5A47)
I (C:\Keil_v5\ARM\ARMCC\include\Time.h)(0x5E8E9122)
F (.\FileInclude\MyTimer.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
@ -50,7 +52,7 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_versio
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
F (.\FileInclude\MyGirouette.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mygirouette.o --omf_browse .\objects\mygirouette.crf --depend .\objects\mygirouette.d)
F (.\FileInclude\MyGirouette.c)(0x6380F678)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mygirouette.o --omf_browse .\objects\mygirouette.crf --depend .\objects\mygirouette.d)
I (FileInclude\MyGirouette.h)(0x6380DAE4)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
@ -86,7 +88,7 @@ I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_
I (FileInclude\MyADC.h)(0x6380DAE4)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
F (.\FileInclude\Plateau.c)(0x6380E0B0)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\plateau.o --omf_browse .\objects\plateau.crf --depend .\objects\plateau.d)
F (.\FileInclude\Plateau.c)(0x6380E3D6)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\plateau.o --omf_browse .\objects\plateau.crf --depend .\objects\plateau.d)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
@ -111,6 +113,18 @@ I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
I (FileInclude\Plateau.h)(0x6380DAE4)
I (FileInclude\Telecommande.h)(0x6380DAE4)
F (.\FileInclude\Time.c)(0x6380F610)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\time.o --omf_browse .\objects\time.crf --depend .\objects\time.d)
I (FileInclude\MyI2C.h)(0x634E5A47)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_R_el\RTE_Components.h)(0x6380DAE5)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (FileInclude\Time.h)(0x63809D28)
F (.\FileInclude\Lib_Com_Periph_2022.lib)(0x634E68C6)()
F (RTE\Device\STM32F103RB\RTE_Device.h)(0x6380DAE5)()
F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x6380DAE5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d)
F (RTE\Device\STM32F103RB\system_stm32f10x.c)(0x6380DAE5)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_R_el -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\system_stm32f10x.o --omf_browse .\objects\system_stm32f10x.crf --depend .\objects\system_stm32f10x.d)

View file

@ -1,6 +1,6 @@
Dependencies for Project 'Projet1', Target 'SImulation': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC
F (.\Sources\main.c)(0x6380DFA7)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
F (.\Sources\main.c)(0x6380F803)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_SImulation\RTE_Components.h)(0x6380DAE5)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
@ -17,6 +17,8 @@ I (.\FileInclude\Telecommande.h)(0x6380DAE4)
I (.\FileInclude\Batterie.h)(0x6380DAE4)
I (.\FileInclude\MyGirouette.h)(0x6380DAE4)
I (.\FileInclude\MyVoile.h)(0x6380DAE4)
I (.\FileInclude\MyI2C.h)(0x634E5A47)
I (C:\Keil_v5\ARM\ARMCC\include\Time.h)(0x5E8E9122)
F (.\FileInclude\MyTimer.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mytimer.o --omf_browse .\objects\mytimer.crf --depend .\objects\mytimer.d)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
@ -50,7 +52,7 @@ I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_versio
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
F (.\FileInclude\MyGirouette.c)(0x6380DAE4)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mygirouette.o --omf_browse .\objects\mygirouette.crf --depend .\objects\mygirouette.d)
F (.\FileInclude\MyGirouette.c)(0x6380F678)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\mygirouette.o --omf_browse .\objects\mygirouette.crf --depend .\objects\mygirouette.d)
I (FileInclude\MyGirouette.h)(0x6380DAE4)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_SImulation\RTE_Components.h)(0x6380DAE5)
@ -86,7 +88,7 @@ I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_
I (FileInclude\MyADC.h)(0x6380DAE4)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
F (.\FileInclude\Plateau.c)(0x6380E0B0)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\plateau.o --omf_browse .\objects\plateau.crf --depend .\objects\plateau.d)
F (.\FileInclude\Plateau.c)(0x6380E3D6)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\plateau.o --omf_browse .\objects\plateau.crf --depend .\objects\plateau.d)
I (FileInclude\MyTimer.h)(0x6380DAE4)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_SImulation\RTE_Components.h)(0x6380DAE5)
@ -111,6 +113,18 @@ I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_
I (FileInclude\Driver_GPIO.h)(0x6380DAE4)
I (FileInclude\Plateau.h)(0x6380DAE4)
I (FileInclude\Telecommande.h)(0x6380DAE4)
F (.\FileInclude\Time.c)(0x6380F8F9)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\time.o --omf_browse .\objects\time.crf --depend .\objects\time.d)
I (FileInclude\MyI2C.h)(0x634E5A47)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC)
I (.\RTE\_SImulation\RTE_Components.h)(0x6380DAE5)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22)
I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582)
I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC)
I (FileInclude\Time.h)(0x6380F8F4)
F (.\FileInclude\Lib_Com_Periph_2022.lib)(0x634E68C6)()
F (RTE\Device\STM32F103RB\RTE_Device.h)(0x6380DAE5)()
F (RTE\Device\STM32F103RB\startup_stm32f10x_md.s)(0x6380DAE5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d)
F (RTE\Device\STM32F103RB\system_stm32f10x.c)(0x6380DAE5)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\FileInclude -I.\RTE\Device\STM32F103RB -I.\RTE\_SImulation -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o .\objects\system_stm32f10x.o --omf_browse .\objects\system_stm32f10x.crf --depend .\objects\system_stm32f10x.d)

Binary file not shown.

View file

@ -17,7 +17,7 @@ Library Manager: ArmAr.exe V5.06 update 7 (build 960)
Hex Converter: FromElf.exe V5.06 update 7 (build 960)
CPU DLL: SARMCM3.DLL V5.34.0.0
Dialog DLL: DARMSTM.DLL V1.68.0.0
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.8.0
Target DLL: UL2CM3.DLL V1.163.9.0
Dialog DLL: TARMSTM.DLL V1.66.0.0
<h2>Project:</h2>
@ -26,24 +26,31 @@ Project File Date: 11/25/2022
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'Réel'
compiling MyVoile.c...
compiling MyADC.c...
compiling Driver_GPIO.c...
compiling Batterie.c...
Rebuild target 'SImulation'
compiling main.c...
Sources\main.c(52): warning: #223-D: function "Get_Time" declared implicitly
Send_Message(Get_Time());
Sources\main.c(52): error: #167: argument of type "int" is incompatible with parameter of type "char *"
Send_Message(Get_Time());
Sources\main.c: 1 warning, 1 error
compiling MyVoile.c...
compiling Driver_GPIO.c...
compiling MyGirouette.c...
FileInclude\MyGirouette.c(26): warning: #177-D: variable "GPIOB0" was declared but never referenced
FileInclude\MyGirouette.c(25): warning: #177-D: variable "GPIOB0" was declared but never referenced
MyGPIO_Struct_TypeDef GPIOB0={
FileInclude\MyGirouette.c: 1 warning, 0 errors
compiling Batterie.c...
compiling MyTimer.c...
compiling MyADC.c...
assembling startup_stm32f10x_md.s...
compiling system_stm32f10x.c...
compiling Telecommande.c...
compiling Plateau.c...
linking...
Program Size: Code=4708 RO-data=320 RW-data=84 ZI-data=1116
".\Objects\Projet1_Simulation.axf" - 0 Error(s), 1 Warning(s).
compiling Time.c...
FileInclude\Time.c(9): warning: #550-D: variable "varTime" was set but never used
time varTime;
FileInclude\Time.c: 1 warning, 0 errors
compiling Telecommande.c...
compiling system_stm32f10x.c...
".\Objects\Projet1_Simulation.axf" - 1 Error(s), 3 Warning(s).
<h2>Software Packages used:</h2>
@ -61,7 +68,7 @@ Package Vendor: Keil
<h2>Collection of Component include folders:</h2>
.\RTE\Device\STM32F103RB
.\RTE\_R_el
.\RTE\_SImulation
C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include
C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include
@ -70,10 +77,11 @@ Package Vendor: Keil
* Component: ARM::CMSIS:CORE:5.4.0
* Component: Keil::Device:Startup:1.0.0
Source file: Device\Source\ARM\startup_stm32f10x_md.s
Include file: RTE_Driver\Config\RTE_Device.h
Source file: Device\Source\ARM\STM32F1xx_OPT.s
Source file: Device\Source\system_stm32f10x.c
Source file: Device\Source\ARM\STM32F1xx_OPT.s
Source file: Device\Source\ARM\startup_stm32f10x_md.s
Target not created.
Build Time Elapsed: 00:00:02
</pre>
</body>

Binary file not shown.

View file

@ -1,7 +1,7 @@
.\objects\batterie.o: FileInclude\Batterie.c
.\objects\batterie.o: FileInclude\Batterie.h
.\objects\batterie.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\batterie.o: .\RTE\_R_el\RTE_Components.h
.\objects\batterie.o: .\RTE\_SImulation\RTE_Components.h
.\objects\batterie.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\batterie.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\batterie.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

Binary file not shown.

View file

@ -1,7 +1,7 @@
.\objects\driver_gpio.o: FileInclude\Driver_GPIO.c
.\objects\driver_gpio.o: FileInclude\Driver_GPIO.h
.\objects\driver_gpio.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\driver_gpio.o: .\RTE\_R_el\RTE_Components.h
.\objects\driver_gpio.o: .\RTE\_SImulation\RTE_Components.h
.\objects\driver_gpio.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\driver_gpio.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\driver_gpio.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,6 @@
.\objects\main.o: Sources\main.c
.\objects\main.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\main.o: .\RTE\_R_el\RTE_Components.h
.\objects\main.o: .\RTE\_SImulation\RTE_Components.h
.\objects\main.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\main.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h
@ -15,3 +15,5 @@
.\objects\main.o: .\FileInclude\Batterie.h
.\objects\main.o: .\FileInclude\MyGirouette.h
.\objects\main.o: .\FileInclude\MyVoile.h
.\objects\main.o: .\FileInclude\MyI2C.h
.\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\Time.h

Binary file not shown.

View file

@ -1,7 +1,7 @@
.\objects\myadc.o: FileInclude\MyADC.c
.\objects\myadc.o: FileInclude\MyADC.h
.\objects\myadc.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\myadc.o: .\RTE\_R_el\RTE_Components.h
.\objects\myadc.o: .\RTE\_SImulation\RTE_Components.h
.\objects\myadc.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\myadc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\myadc.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

Binary file not shown.

View file

@ -1,7 +1,7 @@
.\objects\mygirouette.o: FileInclude\MyGirouette.c
.\objects\mygirouette.o: FileInclude\MyGirouette.h
.\objects\mygirouette.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\mygirouette.o: .\RTE\_R_el\RTE_Components.h
.\objects\mygirouette.o: .\RTE\_SImulation\RTE_Components.h
.\objects\mygirouette.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\mygirouette.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\mygirouette.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

Binary file not shown.

View file

@ -1,7 +1,7 @@
.\objects\mytimer.o: FileInclude\MyTimer.c
.\objects\mytimer.o: FileInclude\MyTimer.h
.\objects\mytimer.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\mytimer.o: .\RTE\_R_el\RTE_Components.h
.\objects\mytimer.o: .\RTE\_SImulation\RTE_Components.h
.\objects\mytimer.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\mytimer.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\mytimer.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

Binary file not shown.

View file

@ -1,7 +1,7 @@
.\objects\myvoile.o: MyVoile.c
.\objects\myvoile.o: .\FileInclude\MyVoile.h
.\objects\myvoile.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\myvoile.o: .\RTE\_R_el\RTE_Components.h
.\objects\myvoile.o: .\RTE\_SImulation\RTE_Components.h
.\objects\myvoile.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\myvoile.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\myvoile.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

Binary file not shown.

View file

@ -1,7 +1,7 @@
.\objects\plateau.o: FileInclude\Plateau.c
.\objects\plateau.o: FileInclude\MyTimer.h
.\objects\plateau.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\plateau.o: .\RTE\_R_el\RTE_Components.h
.\objects\plateau.o: .\RTE\_SImulation\RTE_Components.h
.\objects\plateau.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\plateau.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\plateau.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,6 @@
.\objects\system_stm32f10x.o: RTE\Device\STM32F103RB\system_stm32f10x.c
.\objects\system_stm32f10x.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\system_stm32f10x.o: .\RTE\_R_el\RTE_Components.h
.\objects\system_stm32f10x.o: .\RTE\_SImulation\RTE_Components.h
.\objects\system_stm32f10x.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\system_stm32f10x.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\system_stm32f10x.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

Binary file not shown.

View file

@ -1,7 +1,7 @@
.\objects\telecommande.o: FileInclude\Telecommande.c
.\objects\telecommande.o: FileInclude\MyTimer.h
.\objects\telecommande.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\telecommande.o: .\RTE\_R_el\RTE_Components.h
.\objects\telecommande.o: .\RTE\_SImulation\RTE_Components.h
.\objects\telecommande.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\telecommande.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\telecommande.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h

Binary file not shown.

BIN
Objects/time.crf Normal file

Binary file not shown.

11
Objects/time.d Normal file
View file

@ -0,0 +1,11 @@
.\objects\time.o: FileInclude\Time.c
.\objects\time.o: FileInclude\MyI2C.h
.\objects\time.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h
.\objects\time.o: .\RTE\_SImulation\RTE_Components.h
.\objects\time.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h
.\objects\time.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\time.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h
.\objects\time.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h
.\objects\time.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h
.\objects\time.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h
.\objects\time.o: FileInclude\Time.h

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -75,7 +75,7 @@
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
@ -144,16 +144,16 @@
<Type>0</Type>
<LineNumber>8</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134219520</Address>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\FileInclude\MyGirouette.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\Projet1_Simulation\FileInclude/MyGirouette.c\8</Expression>
<Expression></Expression>
</Bp>
</Breakpoint>
<WatchWindow1>
@ -169,7 +169,7 @@
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>1</aLwin>
<aLwin>0</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
@ -183,7 +183,7 @@
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>1</aLa>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
@ -287,7 +287,7 @@
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
<IsCurrentTarget>0</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<DebugOpt>
@ -455,7 +455,7 @@
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Sources\main.c</PathWithFileName>
@ -559,7 +559,7 @@
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\FileInclude\Telecommande.c</PathWithFileName>
@ -567,6 +567,30 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\FileInclude\Time.c</PathWithFileName>
<FilenameWithoutPath>Time.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>11</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\FileInclude\Lib_Com_Periph_2022.lib</PathWithFileName>
<FilenameWithoutPath>Lib_Com_Periph_2022.lib</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>

View file

@ -433,6 +433,16 @@
<FileType>1</FileType>
<FilePath>.\FileInclude\Telecommande.c</FilePath>
</File>
<File>
<FileName>Time.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Time.c</FilePath>
</File>
<File>
<FileName>Lib_Com_Periph_2022.lib</FileName>
<FileType>4</FileType>
<FilePath>.\FileInclude\Lib_Com_Periph_2022.lib</FilePath>
</File>
</Files>
</Group>
<Group>
@ -870,6 +880,16 @@
<FileType>1</FileType>
<FilePath>.\FileInclude\Telecommande.c</FilePath>
</File>
<File>
<FileName>Time.c</FileName>
<FileType>1</FileType>
<FilePath>.\FileInclude\Time.c</FilePath>
</File>
<File>
<FileName>Lib_Com_Periph_2022.lib</FileName>
<FileType>4</FileType>
<FilePath>.\FileInclude\Lib_Com_Periph_2022.lib</FilePath>
</File>
</Files>
</Group>
<Group>

View file

@ -7,7 +7,8 @@
#include <Batterie.h>
#include <MyGirouette.h>
#include <MyVoile.h>
#include <MyI2C.h>
#include <Time.h>
/* Declarations */
int droite;
@ -21,7 +22,9 @@ char* visuBatterie = "[-----]";
MyTimer_Struct_TypeDef TIM;
MyTimer_Struct_TypeDef * Data = &TIM;
void I2CHandler(void) {
Send_Message("[ERROR] I2C PROBLEM EVERYBODY GET OUT!!!");
}
void handler() {
counter ++;
@ -46,6 +49,8 @@ void handler() {
if (counter == 10) {
Send_Message(Get_Time());
bat = Get_Batterie();
if (bat < 20) {
visuBatterie = "[-----]";
@ -89,6 +94,9 @@ void f (char a) {
int main (void)
{
/* Init I2C */
MyI2C_Init(I2C1, 2,I2CHandler);
/* Configuration du Timer */
Data->Timer = TIM1;
Data->ARR = 65535;
@ -106,6 +114,7 @@ int main (void)
/* Batterie */
Init_Batterie();
while (1) {
Set_Voile(Get_Angle());
}