mirror of https://github.com/ARMmbed/mbed-os.git
[STM32F3xx] reorg hal
- build.py -t GCC_ARM -m xxx OK - make.py -t GCC_ARM -p 26 -m xxx OKpull/1004/head
parent
5a2cd98407
commit
88ee51cecd
|
@ -39,6 +39,7 @@ typedef enum {
|
|||
PortB = 1,
|
||||
PortC = 2,
|
||||
PortD = 3,
|
||||
PortE = 4,
|
||||
PortF = 5
|
||||
} PortName;
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ typedef enum {
|
|||
PortB = 1,
|
||||
PortC = 2,
|
||||
PortD = 3,
|
||||
PortE = 4,
|
||||
PortF = 5
|
||||
} PortName;
|
||||
|
||||
|
|
|
@ -61,9 +61,11 @@ void analogout_init(dac_t *obj, PinName pin)
|
|||
if (obj->dac == DAC_1) {
|
||||
__DAC1_CLK_ENABLE();
|
||||
}
|
||||
#if defined(__DAC2_FORCE_RESET)
|
||||
if (obj->dac == DAC_2) {
|
||||
__DAC2_CLK_ENABLE();
|
||||
}
|
||||
#endif
|
||||
|
||||
// Configure DAC
|
||||
DacHandle.Instance = (DAC_TypeDef *)(obj->dac);
|
||||
|
@ -76,10 +78,12 @@ void analogout_init(dac_t *obj, PinName pin)
|
|||
pa4_used = 1;
|
||||
}
|
||||
|
||||
#if defined(DAC_CHANNEL_2)
|
||||
if (pin == PA_5) {
|
||||
HAL_DAC_ConfigChannel(&DacHandle, &sConfig, DAC_CHANNEL_2);
|
||||
pa5_used = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (pin == PA_6) {
|
||||
HAL_DAC_ConfigChannel(&DacHandle, &sConfig, DAC_CHANNEL_1);
|
||||
|
@ -119,18 +123,22 @@ static inline void dac_write(dac_t *obj, uint16_t value)
|
|||
HAL_DAC_Start(&DacHandle, DAC_CHANNEL_1);
|
||||
}
|
||||
|
||||
#if defined(DAC_CHANNEL_2)
|
||||
if (obj->pin == PA_5) {
|
||||
HAL_DAC_SetValue(&DacHandle, DAC_CHANNEL_2, DAC_ALIGN_12B_R, value);
|
||||
HAL_DAC_Start(&DacHandle, DAC_CHANNEL_2);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline int dac_read(dac_t *obj)
|
||||
{
|
||||
if ((obj->pin == PA_4) || (obj->pin == PA_6)) {
|
||||
return (int)HAL_DAC_GetValue(&DacHandle, DAC_CHANNEL_1);
|
||||
#if defined(DAC_CHANNEL_2)
|
||||
} else if (obj->pin == PA_5) {
|
||||
return (int)HAL_DAC_GetValue(&DacHandle, DAC_CHANNEL_2);
|
||||
#endif
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -77,9 +77,11 @@ void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel
|
|||
MBED_ASSERT(obj->spi != (SPIName)NC);
|
||||
|
||||
// Enable SPI clock
|
||||
#if defined(SPI1_BASE)
|
||||
if (obj->spi == SPI_1) {
|
||||
__SPI1_CLK_ENABLE();
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(SPI2_BASE)
|
||||
if (obj->spi == SPI_2) {
|
||||
|
@ -128,11 +130,13 @@ void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel
|
|||
void spi_free(spi_t *obj)
|
||||
{
|
||||
// Reset SPI and disable clock
|
||||
#if defined(SPI1_BASE)
|
||||
if (obj->spi == SPI_1) {
|
||||
__SPI1_FORCE_RESET();
|
||||
__SPI1_RELEASE_RESET();
|
||||
__SPI1_CLK_DISABLE();
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(SPI2_BASE)
|
||||
if (obj->spi == SPI_2) {
|
||||
|
@ -217,6 +221,25 @@ void spi_frequency(spi_t *obj, int hz)
|
|||
} else { // >= 32000000
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_2; // 32 MHz - 36 MHz
|
||||
}
|
||||
#elif defined(TARGET_STM32F302R8)
|
||||
if (hz < 250000) {
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_256; // 125 kHz - 141 kHz
|
||||
} else if ((hz >= 250000) && (hz < 500000)) {
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_128; // 250 kHz - 280 kHz
|
||||
} else if ((hz >= 500000) && (hz < 1000000)) {
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_64; // 500 kHz - 560 kHz
|
||||
} else if ((hz >= 1000000) && (hz < 2000000)) {
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_32; // 1 MHz - 1.13 MHz
|
||||
} else if ((hz >= 2000000) && (hz < 4000000)) {
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_16; // 2 MHz - 2.25 MHz
|
||||
} else if ((hz >= 4000000) && (hz < 8000000)) {
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_8; // 4 MHz - 4.5 MHz
|
||||
} else if ((hz >= 8000000) && (hz < 16000000)) {
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_4; // 8 MHz - 9 MHz
|
||||
} else { // >= 16000000
|
||||
obj->br_presc = SPI_BAUDRATEPRESCALER_2; // 16 MHz - 18 MHz
|
||||
}
|
||||
|
||||
#else
|
||||
// Values depend of APB1CLK and APB2CLK : 32 MHz if HSI is used, 36 MHz if HSE is used
|
||||
if (obj->spi == SPI_1) {
|
||||
|
|
Loading…
Reference in New Issue