UART Working (test with rspi). Interruption for Receiving. Pinout for the different UARTS
This commit is contained in:
parent
398575d7c5
commit
b2f1785052
7 changed files with 216 additions and 128 deletions
114
driver/uart.c
114
driver/uart.c
|
@ -2,49 +2,50 @@
|
||||||
#include "gpio.h"
|
#include "gpio.h"
|
||||||
//faire GPIO
|
//faire GPIO
|
||||||
|
|
||||||
char data1 = 0x00;
|
char data1 = 0;
|
||||||
char data2 = 0x00;
|
char data2 = 0;
|
||||||
char data3 = 0x00;
|
char data3 = 0;
|
||||||
|
|
||||||
void MyUART_Init(MyUART_Struct_Typedef * UARTStructPtr){
|
void MyUART_Init(MyUART_Struct_Typedef * UARTStructPtr){
|
||||||
MyUART_setClockBit(UARTStructPtr->UART);
|
MyUART_setClockBit(UARTStructPtr); //Clock enable and setting the baud.
|
||||||
UARTStructPtr->UART->BRR = 72000000/(UARTStructPtr->BaudRate);
|
UARTStructPtr->UART->CR1 = 0x00; // Clear ALL
|
||||||
UARTStructPtr->UART->CR1 |= ((UARTStructPtr->Wlengh)<<12);
|
UARTStructPtr->UART->CR1 |= USART_CR1_UE;
|
||||||
UARTStructPtr->UART->CR1 |= (0x1<<10);
|
UARTStructPtr->UART->CR1 |= ((UARTStructPtr->length)<<12); //Setting the Length of the data transmitted
|
||||||
|
|
||||||
if(UARTStructPtr->Wparity == parity_none)
|
UARTStructPtr->UART->CR1 &= ~(0x3<<9); //reset CR1 9-10 bits, Parity Selection
|
||||||
UARTStructPtr->UART->CR1 &= ~(0x1<<10);
|
if(UARTStructPtr->parity != parityNone) //if parity is enabled
|
||||||
if(UARTStructPtr->Wparity == parity_odd)
|
{
|
||||||
UARTStructPtr->UART->CR1 |= (0x1<<9);
|
UARTStructPtr->UART->CR1 |= (UARTStructPtr->parity<<9); //depending on the parity changing the 9th bit, and set 10th bit to 1
|
||||||
if(UARTStructPtr->Wparity == parity_even)
|
|
||||||
UARTStructPtr->UART->CR1 &= ~(0x1<<9);
|
|
||||||
|
|
||||||
if(UARTStructPtr->Wstop == stop1b)
|
|
||||||
UARTStructPtr->UART->CR2 &= ~(0x3<<12);
|
|
||||||
if(UARTStructPtr->Wstop == stop2b){
|
|
||||||
UARTStructPtr->UART->CR2 &= ~(0x3<<12);
|
|
||||||
UARTStructPtr->UART->CR2 |= (0x1<<13);
|
|
||||||
}
|
}
|
||||||
UARTStructPtr->UART->CR1 |= (USART_CR1_TE | USART_CR1_RE | USART_CR1_UE | USART_CR1_RXNEIE);
|
|
||||||
|
|
||||||
NVIC_EnableIRQ(USART1_IRQn);
|
UARTStructPtr->UART->CR2 &= ~(0x3<<12); //reset CR2 13-12 bits, Stop bits
|
||||||
|
if(UARTStructPtr->stop != stopBit1) //if stop bits > 1
|
||||||
|
{
|
||||||
|
UARTStructPtr->UART->CR2 |= (UARTStructPtr->stop<<12); //depending on the stop changing the 12th and 13th bit.
|
||||||
|
}
|
||||||
|
//TxD Enable, RxD Enable, USART Global Enable
|
||||||
|
UARTStructPtr->UART->CR1 |= (USART_CR1_TE | USART_CR1_RE);
|
||||||
|
MyUART_ActiveIT(UARTStructPtr->UART,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int MyUART_setClockBit(USART_TypeDef * UART)
|
int MyUART_setClockBit(MyUART_Struct_Typedef * UARTStructPtr)
|
||||||
{
|
{
|
||||||
if (UART == USART1)
|
if (UARTStructPtr->UART == USART1)
|
||||||
{
|
{
|
||||||
RCC->APB2ENR |= RCC_APB2ENR_USART1EN; //72MHz
|
RCC->APB2ENR |= RCC_APB2ENR_USART1EN;
|
||||||
|
USART1->BRR = 72000000/(UARTStructPtr->BaudRate); //Calculating the baudrate depending on the clock frequency
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (UART == USART2)
|
else if (UARTStructPtr->UART == USART2)
|
||||||
{
|
{
|
||||||
RCC->APB1ENR |= RCC_APB1ENR_USART2EN; //36MHz
|
RCC->APB1ENR |= RCC_APB1ENR_USART2EN;
|
||||||
|
USART2->BRR = 36000000/(UARTStructPtr->BaudRate);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (UART == USART3)
|
else if (UARTStructPtr->UART == USART3)
|
||||||
{
|
{
|
||||||
RCC->APB1ENR |= RCC_APB1ENR_USART3EN; //36MHz //Maybe return the clock base mhz ?
|
RCC->APB1ENR |= RCC_APB1ENR_USART3EN;
|
||||||
|
USART3->BRR = 36000000/(UARTStructPtr->BaudRate);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -52,36 +53,79 @@ int MyUART_setClockBit(USART_TypeDef * UART)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyUART_ActiveIT(USART_TypeDef * UART, uint8_t Prio)
|
||||||
|
{
|
||||||
|
uint32_t IRQNumber = MyUART_GetInterruptNum(UART);
|
||||||
|
UART->CR1 |= (USART_CR1_RXNEIE); //Interruption active pour la reception UNIQUEMENT
|
||||||
|
NVIC->IP[IRQNumber] |= (Prio << 0x4); //Prio de l'interruption (p.197 manuel reference RM0008 pour ADC1_IRQn)
|
||||||
|
NVIC->ISER[1] |= (0x1<<(IRQNumber-32)); //Active l'interruption au niveau NVIC (p.119 manuel programming pour ISER[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
void MyUART_Send(MyUART_Struct_Typedef *UART, uint8_t data)
|
||||||
|
{
|
||||||
|
UART->UART->DR = data;
|
||||||
|
//du DR au Registre de Transmission, on attend que le bit de stop soit envoyé
|
||||||
|
while (!(UART->UART->SR & USART_SR_TC));
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t MyUART_Receive(MyUART_Struct_Typedef *UART)
|
||||||
|
{
|
||||||
|
while (!(UART->UART->SR & USART_SR_RXNE)); // Si RXNE est mis à 1, alors on vient de recevoir une donnée !
|
||||||
|
uint8_t data = UART->UART->DR; // Read the data.
|
||||||
|
UART->UART->SR &= ~USART_SR_RXNE; //flag to 0
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t MyUART_GetInterruptNum(USART_TypeDef * UART)
|
||||||
|
{
|
||||||
|
if(UART == USART1)
|
||||||
|
{
|
||||||
|
return USART1_IRQn;
|
||||||
|
}
|
||||||
|
else if(UART == USART2)
|
||||||
|
{
|
||||||
|
return USART2_IRQn;
|
||||||
|
}
|
||||||
|
else if(UART == USART3)
|
||||||
|
{
|
||||||
|
return USART3_IRQn;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void USART1_IRQHandler(void)
|
void USART1_IRQHandler(void)
|
||||||
{
|
{
|
||||||
// Check if receive data register not empty
|
if((USART1->SR & USART_SR_RXNE) == USART_SR_RXNE) //verify the flag
|
||||||
if(USART1->SR & USART_SR_RXNE)
|
|
||||||
{
|
{
|
||||||
data1 = USART1->DR; // read received data
|
data1 = USART1->DR; // read received data
|
||||||
// do something with received data
|
USART1->SR &= ~USART_SR_RXNE; //flag to 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void USART2_IRQHandler(void)
|
void USART2_IRQHandler(void)
|
||||||
{
|
{
|
||||||
// Check if receive data register not empty
|
if((USART2->SR & USART_SR_RXNE) == USART_SR_RXNE) //verify the flag
|
||||||
if(USART2->SR & USART_SR_RXNE)
|
|
||||||
{
|
{
|
||||||
data2 = USART2->DR; // read received data
|
data2 = USART2->DR; // read received data
|
||||||
// do something with received data
|
USART2->SR &= ~USART_SR_RXNE; //flag to 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void USART3_IRQHandler(void)
|
void USART3_IRQHandler(void)
|
||||||
{
|
{
|
||||||
// Check if receive data register not empty
|
// Check if receive data register not empty
|
||||||
if(USART3->SR & USART_SR_RXNE)
|
if((USART3->SR & USART_SR_RXNE) == USART_SR_RXNE) //verify the flag
|
||||||
{
|
{
|
||||||
data3 = USART3->DR; // read received data
|
data3 = USART3->DR; // read received data
|
||||||
// do something with received data
|
// do something with received data
|
||||||
|
USART2->SR &= ~USART_SR_RXNE; //flag to 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char MyUART_Read(MyUART_Struct_Typedef * UARTStructPtr)
|
char MyUART_Read(MyUART_Struct_Typedef * UARTStructPtr)
|
||||||
{
|
{
|
||||||
if(UARTStructPtr->UART == USART1)
|
if(UARTStructPtr->UART == USART1)
|
||||||
|
|
|
@ -2,28 +2,37 @@
|
||||||
#define UART_H
|
#define UART_H
|
||||||
#include "stm32f10x.h"
|
#include "stm32f10x.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef enum {
|
||||||
USART_TypeDef * UART;
|
lengthBit8,
|
||||||
unsigned int BaudRate;
|
lengthBit9
|
||||||
unsigned char Wlengh;
|
} MyUART_Enum_Length;
|
||||||
unsigned char Wparity;
|
|
||||||
unsigned char Wstop;
|
|
||||||
}MyUART_Struct_Typedef;
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
//DIV_Fraction ->
|
parityNone,
|
||||||
//1D4C
|
parityEven = 0b10,
|
||||||
}MyUART_BRR
|
parityOdd = 0b11
|
||||||
|
} MyUART_Enum_Parity;
|
||||||
|
|
||||||
#define parity_none 0x0
|
typedef enum {
|
||||||
#define parity_even 0x1
|
stopBit1,
|
||||||
#define parity_odd 0x2
|
stopBit0d5,
|
||||||
#define Wlengh8 0x0
|
stopBit2,
|
||||||
#define Wlengh9 0X1
|
stopBit1d5
|
||||||
#define stop1b 0x0
|
} MyUART_Enum_StopBits;
|
||||||
#define stop2b 0x2
|
|
||||||
|
typedef struct {
|
||||||
|
USART_TypeDef * UART;
|
||||||
|
uint32_t BaudRate;
|
||||||
|
MyUART_Enum_Length length;
|
||||||
|
MyUART_Enum_Parity parity;
|
||||||
|
MyUART_Enum_StopBits stop;
|
||||||
|
}MyUART_Struct_Typedef;
|
||||||
|
|
||||||
void MyUART_Init(MyUART_Struct_Typedef * UARTStructPtr);
|
void MyUART_Init(MyUART_Struct_Typedef * UARTStructPtr);
|
||||||
int MyUART_setClockBit(USART_TypeDef * UART);
|
int MyUART_setClockBit(MyUART_Struct_Typedef * UARTStructPtr);
|
||||||
|
void MyUART_Send(MyUART_Struct_Typedef *UART, uint8_t data);
|
||||||
|
uint8_t MyUART_Receive(MyUART_Struct_Typedef *UART);
|
||||||
|
void MyUART_ActiveIT(USART_TypeDef * UART, uint8_t Prio);
|
||||||
|
uint8_t MyUART_GetInterruptNum(USART_TypeDef * UART);
|
||||||
char MyUART_Read(MyUART_Struct_Typedef * UARTStructPtr);
|
char MyUART_Read(MyUART_Struct_Typedef * UARTStructPtr);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -132,7 +132,7 @@ Reset_Handler PROC
|
||||||
EXPORT Reset_Handler [WEAK]
|
EXPORT Reset_Handler [WEAK]
|
||||||
IMPORT __main
|
IMPORT __main
|
||||||
IMPORT SystemInit
|
IMPORT SystemInit
|
||||||
LDR R0, =SystemInit
|
a LDR R0, =SystemInit
|
||||||
BLX R0
|
BLX R0
|
||||||
LDR R0, =__main
|
LDR R0, =__main
|
||||||
BX R0
|
BX R0
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* Auto generated Run-Time-Environment Configuration File
|
* Auto generated Run-Time-Environment Configuration File
|
||||||
* *** Do not modify ! ***
|
* *** Do not modify ! ***
|
||||||
*
|
*
|
||||||
* Project: 'gpiodriver'
|
* Project: 'voilier'
|
||||||
* Target: 'Réel'
|
* Target: 'Réel'
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,36 @@
|
||||||
#include "../../driver/MyI2C.h"
|
#include "../../driver/MyI2C.h"
|
||||||
#include "../../driver/MySPI.h"
|
#include "../../driver/MySPI.h"
|
||||||
#include "../../implementation/remote.h"
|
#include "../../implementation/remote.h"
|
||||||
|
#include "../../driver/gpio.h"
|
||||||
|
|
||||||
int main (void)
|
int main (void)
|
||||||
{
|
{
|
||||||
while(1){};
|
//rxd input pull up, txd output none
|
||||||
|
MyGPIO_Struct_TypeDef led = {GPIOA,5,Out_PullUp}; //led
|
||||||
|
MyGPIO_Struct_TypeDef rxd1 = {GPIOA,10,In_PullUp};
|
||||||
|
MyGPIO_Struct_TypeDef txd1 = {GPIOA,9,AltOut_Ppull};
|
||||||
|
MyGPIO_Struct_TypeDef rxd2 = {GPIOA,3,In_Floating};
|
||||||
|
MyGPIO_Struct_TypeDef txd2 = {GPIOA,2,AltOut_Ppull};
|
||||||
|
MyGPIO_Struct_TypeDef rxd3 = {GPIOB,11,In_PullUp};
|
||||||
|
MyGPIO_Struct_TypeDef txd3 = {GPIOB,10,AltOut_Ppull};
|
||||||
|
MyUART_Struct_Typedef uartCool = {USART3,9600,lengthBit8,parityNone,stopBit1};
|
||||||
|
|
||||||
|
MyGPIO_Init(&led);
|
||||||
|
MyGPIO_Init(&rxd1);
|
||||||
|
MyGPIO_Init(&txd1);
|
||||||
|
MyGPIO_Init(&rxd2);
|
||||||
|
MyGPIO_Init(&txd2);
|
||||||
|
MyGPIO_Init(&rxd3);
|
||||||
|
MyGPIO_Init(&txd3);
|
||||||
|
MyUART_Init(&uartCool);
|
||||||
|
|
||||||
|
while(1){
|
||||||
|
if(MyUART_Read(&uartCool) == 0x61)
|
||||||
|
{
|
||||||
|
MyGPIO_Set(GPIOA,5);
|
||||||
|
MyUART_Send(&uartCool,'k');
|
||||||
|
MyUART_Send(&uartCool,'o');
|
||||||
|
MyUART_Send(&uartCool,'\n');
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
<OPTFL>
|
<OPTFL>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<IsCurrentTarget>1</IsCurrentTarget>
|
<IsCurrentTarget>0</IsCurrentTarget>
|
||||||
</OPTFL>
|
</OPTFL>
|
||||||
<CpuCode>18</CpuCode>
|
<CpuCode>18</CpuCode>
|
||||||
<DebugOpt>
|
<DebugOpt>
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>DLGDARM</Key>
|
<Key>DLGDARM</Key>
|
||||||
<Name>(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=1468,53,1889,480,1)(121=1469,437,1890,864,1)(122=875,109,1296,536,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=-1,-1,-1,-1,0)(131=1285,87,1879,838,1)(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)</Name>
|
<Name>(1010=1460,461,1836,1018,1)(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=1009,499,1430,926,1)(121=1469,437,1890,864,0)(122=875,109,1296,536,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=105,137,504,482,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=879,71,1473,822,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=1014,43,1462,457,1)(161=568,150,1016,564,1)(162=1351,117,1799,531,1)(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)</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
|
@ -142,9 +142,9 @@
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>15</LineNumber>
|
<LineNumber>29</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>134218740</Address>
|
<Address>134219444</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
|
@ -153,71 +153,39 @@
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
<Filename>.\Source\Principale.c</Filename>
|
<Filename>.\Source\Principale.c</Filename>
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression>\\cool_Simule\Source/Principale.c\15</Expression>
|
<Expression>\\cool_Simule\Source/Principale.c\29</Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>1</Number>
|
<Number>1</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>19</LineNumber>
|
<LineNumber>28</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>0</Address>
|
<Address>134219442</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
<SizeOfObject>0</SizeOfObject>
|
<SizeOfObject>0</SizeOfObject>
|
||||||
<BreakByAccess>0</BreakByAccess>
|
<BreakByAccess>0</BreakByAccess>
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
<Filename>.\Source\Principale.c</Filename>
|
<Filename>.\Source\Principale.c</Filename>
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression></Expression>
|
<Expression>\\cool_Simule\Source/Principale.c\28</Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>2</Number>
|
<Number>2</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>7</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\Source\Principale.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>3</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>8</LineNumber>
|
<LineNumber>8</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>0</Address>
|
<Address>134219308</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
<SizeOfObject>0</SizeOfObject>
|
<SizeOfObject>0</SizeOfObject>
|
||||||
<BreakByAccess>0</BreakByAccess>
|
<BreakByAccess>0</BreakByAccess>
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
<Filename>.\Source\Principale.c</Filename>
|
<Filename>.\Source\Principale.c</Filename>
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression></Expression>
|
<Expression>\\cool_Simule\Source/Principale.c\8</Expression>
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>4</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>9</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\Source\Principale.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
</Bp>
|
||||||
</Breakpoint>
|
</Breakpoint>
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
|
@ -274,16 +242,6 @@
|
||||||
<pszMrulep></pszMrulep>
|
<pszMrulep></pszMrulep>
|
||||||
<pSingCmdsp></pSingCmdsp>
|
<pSingCmdsp></pSingCmdsp>
|
||||||
<pMultCmdsp></pMultCmdsp>
|
<pMultCmdsp></pMultCmdsp>
|
||||||
<SystemViewers>
|
|
||||||
<Entry>
|
|
||||||
<Name>System Viewer\GPIOA</Name>
|
|
||||||
<WinId>35905</WinId>
|
|
||||||
</Entry>
|
|
||||||
<Entry>
|
|
||||||
<Name>System Viewer\GPIOB</Name>
|
|
||||||
<WinId>35904</WinId>
|
|
||||||
</Entry>
|
|
||||||
</SystemViewers>
|
|
||||||
<DebugDescription>
|
<DebugDescription>
|
||||||
<Enable>1</Enable>
|
<Enable>1</Enable>
|
||||||
<EnableFlashSeq>1</EnableFlashSeq>
|
<EnableFlashSeq>1</EnableFlashSeq>
|
||||||
|
@ -348,7 +306,7 @@
|
||||||
<OPTFL>
|
<OPTFL>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<IsCurrentTarget>0</IsCurrentTarget>
|
<IsCurrentTarget>1</IsCurrentTarget>
|
||||||
</OPTFL>
|
</OPTFL>
|
||||||
<CpuCode>18</CpuCode>
|
<CpuCode>18</CpuCode>
|
||||||
<DebugOpt>
|
<DebugOpt>
|
||||||
|
@ -403,7 +361,7 @@
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||||
<Name>-U066FFF504955857567155843 -O206 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
|
<Name>-U066FFF504955857567155843 -O206 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
|
@ -430,7 +388,39 @@
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>6</LineNumber>
|
<LineNumber>31</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134219614</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\Source\Principale.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\cool_reel\Source/Principale.c\31</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>1</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>28</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>134219606</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
|
<Filename>.\Source\Principale.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression>\\cool_reel\Source/Principale.c\28</Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>2</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>30</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>0</Address>
|
<Address>0</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
|
@ -498,6 +488,20 @@
|
||||||
<pszMrulep></pszMrulep>
|
<pszMrulep></pszMrulep>
|
||||||
<pSingCmdsp></pSingCmdsp>
|
<pSingCmdsp></pSingCmdsp>
|
||||||
<pMultCmdsp></pMultCmdsp>
|
<pMultCmdsp></pMultCmdsp>
|
||||||
|
<SystemViewers>
|
||||||
|
<Entry>
|
||||||
|
<Name>System Viewer\USART1</Name>
|
||||||
|
<WinId>35905</WinId>
|
||||||
|
</Entry>
|
||||||
|
<Entry>
|
||||||
|
<Name>System Viewer\USART2</Name>
|
||||||
|
<WinId>35904</WinId>
|
||||||
|
</Entry>
|
||||||
|
<Entry>
|
||||||
|
<Name>System Viewer\USART3</Name>
|
||||||
|
<WinId>35903</WinId>
|
||||||
|
</Entry>
|
||||||
|
</SystemViewers>
|
||||||
<DebugDescription>
|
<DebugDescription>
|
||||||
<Enable>1</Enable>
|
<Enable>1</Enable>
|
||||||
<EnableFlashSeq>0</EnableFlashSeq>
|
<EnableFlashSeq>0</EnableFlashSeq>
|
||||||
|
@ -562,7 +566,7 @@
|
||||||
<GroupNumber>2</GroupNumber>
|
<GroupNumber>2</GroupNumber>
|
||||||
<FileNumber>4</FileNumber>
|
<FileNumber>4</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\driver\adc.c</PathWithFileName>
|
<PathWithFileName>..\driver\adc.c</PathWithFileName>
|
||||||
|
@ -574,7 +578,7 @@
|
||||||
<GroupNumber>2</GroupNumber>
|
<GroupNumber>2</GroupNumber>
|
||||||
<FileNumber>5</FileNumber>
|
<FileNumber>5</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\driver\gpio.c</PathWithFileName>
|
<PathWithFileName>..\driver\gpio.c</PathWithFileName>
|
||||||
|
|
|
@ -10,13 +10,14 @@
|
||||||
<TargetName>Simulé</TargetName>
|
<TargetName>Simulé</TargetName>
|
||||||
<ToolsetNumber>0x4</ToolsetNumber>
|
<ToolsetNumber>0x4</ToolsetNumber>
|
||||||
<ToolsetName>ARM-ADS</ToolsetName>
|
<ToolsetName>ARM-ADS</ToolsetName>
|
||||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
<pArmCC>5060960::V5.06 update 7 (build 960)::.\ARM_Compiler_5.06u7</pArmCC>
|
||||||
|
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARM_Compiler_5.06u7</pCCUsed>
|
||||||
<uAC6>0</uAC6>
|
<uAC6>0</uAC6>
|
||||||
<TargetOption>
|
<TargetOption>
|
||||||
<TargetCommonOption>
|
<TargetCommonOption>
|
||||||
<Device>STM32F103RB</Device>
|
<Device>STM32F103RB</Device>
|
||||||
<Vendor>STMicroelectronics</Vendor>
|
<Vendor>STMicroelectronics</Vendor>
|
||||||
<PackID>Keil.STM32F1xx_DFP.2.3.0</PackID>
|
<PackID>Keil.STM32F1xx_DFP.2.4.0</PackID>
|
||||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||||
<Cpu>IRAM(0x20000000,0x00005000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
|
<Cpu>IRAM(0x20000000,0x00005000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
|
||||||
<FlashUtilSpec></FlashUtilSpec>
|
<FlashUtilSpec></FlashUtilSpec>
|
||||||
|
@ -186,6 +187,7 @@
|
||||||
<RvdsVP>0</RvdsVP>
|
<RvdsVP>0</RvdsVP>
|
||||||
<RvdsMve>0</RvdsMve>
|
<RvdsMve>0</RvdsMve>
|
||||||
<RvdsCdeCp>0</RvdsCdeCp>
|
<RvdsCdeCp>0</RvdsCdeCp>
|
||||||
|
<nBranchProt>0</nBranchProt>
|
||||||
<hadIRAM2>0</hadIRAM2>
|
<hadIRAM2>0</hadIRAM2>
|
||||||
<hadIROM2>0</hadIROM2>
|
<hadIROM2>0</hadIROM2>
|
||||||
<StupSel>8</StupSel>
|
<StupSel>8</StupSel>
|
||||||
|
@ -437,13 +439,13 @@
|
||||||
<TargetName>Réel</TargetName>
|
<TargetName>Réel</TargetName>
|
||||||
<ToolsetNumber>0x4</ToolsetNumber>
|
<ToolsetNumber>0x4</ToolsetNumber>
|
||||||
<ToolsetName>ARM-ADS</ToolsetName>
|
<ToolsetName>ARM-ADS</ToolsetName>
|
||||||
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARM_Compiler_5.06u7</pCCUsed>
|
||||||
<uAC6>0</uAC6>
|
<uAC6>0</uAC6>
|
||||||
<TargetOption>
|
<TargetOption>
|
||||||
<TargetCommonOption>
|
<TargetCommonOption>
|
||||||
<Device>STM32F103RB</Device>
|
<Device>STM32F103RB</Device>
|
||||||
<Vendor>STMicroelectronics</Vendor>
|
<Vendor>STMicroelectronics</Vendor>
|
||||||
<PackID>Keil.STM32F1xx_DFP.2.3.0</PackID>
|
<PackID>Keil.STM32F1xx_DFP.2.4.0</PackID>
|
||||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||||
<Cpu>IRAM(0x20000000,0x00005000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
|
<Cpu>IRAM(0x20000000,0x00005000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
|
||||||
<FlashUtilSpec></FlashUtilSpec>
|
<FlashUtilSpec></FlashUtilSpec>
|
||||||
|
@ -613,6 +615,7 @@
|
||||||
<RvdsVP>0</RvdsVP>
|
<RvdsVP>0</RvdsVP>
|
||||||
<RvdsMve>0</RvdsMve>
|
<RvdsMve>0</RvdsMve>
|
||||||
<RvdsCdeCp>0</RvdsCdeCp>
|
<RvdsCdeCp>0</RvdsCdeCp>
|
||||||
|
<nBranchProt>0</nBranchProt>
|
||||||
<hadIRAM2>0</hadIRAM2>
|
<hadIRAM2>0</hadIRAM2>
|
||||||
<hadIROM2>0</hadIROM2>
|
<hadIROM2>0</hadIROM2>
|
||||||
<StupSel>8</StupSel>
|
<StupSel>8</StupSel>
|
||||||
|
@ -884,7 +887,7 @@
|
||||||
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h" version="1.1.2">
|
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h" version="1.1.2">
|
||||||
<instance index="0">RTE\Device\STM32F103RB\RTE_Device.h</instance>
|
<instance index="0">RTE\Device\STM32F103RB\RTE_Device.h</instance>
|
||||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
||||||
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.3.0"/>
|
<package name="STM32F1xx_DFP" schemaVersion="1.7.2" url="http://www.keil.com/pack/" vendor="Keil" version="2.4.0"/>
|
||||||
<targetInfos>
|
<targetInfos>
|
||||||
<targetInfo name="Réel"/>
|
<targetInfo name="Réel"/>
|
||||||
<targetInfo name="Simulé"/>
|
<targetInfo name="Simulé"/>
|
||||||
|
@ -893,7 +896,7 @@
|
||||||
<file attr="config" category="source" condition="STM32F1xx MD ARMCC" name="Device\Source\ARM\startup_stm32f10x_md.s" version="1.0.1">
|
<file attr="config" category="source" condition="STM32F1xx MD ARMCC" name="Device\Source\ARM\startup_stm32f10x_md.s" version="1.0.1">
|
||||||
<instance index="0">RTE\Device\STM32F103RB\startup_stm32f10x_md.s</instance>
|
<instance index="0">RTE\Device\STM32F103RB\startup_stm32f10x_md.s</instance>
|
||||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
||||||
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.3.0"/>
|
<package name="STM32F1xx_DFP" schemaVersion="1.7.2" url="http://www.keil.com/pack/" vendor="Keil" version="2.4.0"/>
|
||||||
<targetInfos>
|
<targetInfos>
|
||||||
<targetInfo name="Réel"/>
|
<targetInfo name="Réel"/>
|
||||||
<targetInfo name="Simulé"/>
|
<targetInfo name="Simulé"/>
|
||||||
|
@ -902,7 +905,7 @@
|
||||||
<file attr="config" category="source" name="Device\Source\system_stm32f10x.c" version="1.0.1">
|
<file attr="config" category="source" name="Device\Source\system_stm32f10x.c" version="1.0.1">
|
||||||
<instance index="0">RTE\Device\STM32F103RB\system_stm32f10x.c</instance>
|
<instance index="0">RTE\Device\STM32F103RB\system_stm32f10x.c</instance>
|
||||||
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F1xx CMSIS"/>
|
||||||
<package name="STM32F1xx_DFP" schemaVersion="1.4.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.3.0"/>
|
<package name="STM32F1xx_DFP" schemaVersion="1.7.2" url="http://www.keil.com/pack/" vendor="Keil" version="2.4.0"/>
|
||||||
<targetInfos>
|
<targetInfos>
|
||||||
<targetInfo name="Réel"/>
|
<targetInfo name="Réel"/>
|
||||||
<targetInfo name="Simulé"/>
|
<targetInfo name="Simulé"/>
|
||||||
|
|
Loading…
Reference in a new issue