Put the modbus and rs485 codes together. Briefly tested.
This commit is contained in:
parent
b5b031e593
commit
fcb6ce88a6
@ -99,11 +99,13 @@ void Error_Handler(void);
|
|||||||
/* USER CODE BEGIN Private defines */
|
/* USER CODE BEGIN Private defines */
|
||||||
#define MEASUREMENT_PERIOD_MS 600000
|
#define MEASUREMENT_PERIOD_MS 600000
|
||||||
|
|
||||||
extern uint8_t lpuart1_rx_message_index;
|
extern uint16_t lpuart1_rx_message_index;
|
||||||
extern uint8_t lpuart1_rx_message_len;
|
extern uint16_t lpuart1_rx_message_len;
|
||||||
extern uint8_t lpuart1_rx_done;
|
extern uint8_t lpuart1_rx_done;
|
||||||
|
extern uint8_t lpuart1_rx_message_too_long;
|
||||||
|
|
||||||
extern uint8_t tim21_elapsed_period;
|
extern uint8_t tim21_elapsed_period;
|
||||||
|
|
||||||
/* USER CODE END Private defines */
|
/* USER CODE END Private defines */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -111,7 +111,7 @@ static void MX_I2C1_Init(void);
|
|||||||
static void MX_LPUART1_UART_Init(void);
|
static void MX_LPUART1_UART_Init(void);
|
||||||
static void MX_TIM21_Init(void);
|
static void MX_TIM21_Init(void);
|
||||||
/* USER CODE BEGIN PFP */
|
/* USER CODE BEGIN PFP */
|
||||||
|
void LPUART1_TX_Buffer(uint8_t* buffer_tx, uint8_t buffer_tx_len);
|
||||||
/* USER CODE END PFP */
|
/* USER CODE END PFP */
|
||||||
|
|
||||||
/* Private user code ---------------------------------------------------------*/
|
/* Private user code ---------------------------------------------------------*/
|
||||||
@ -131,7 +131,9 @@ int8_t modbus_slave_callback(modbus_transaction_t *transaction)
|
|||||||
|
|
||||||
int8_t modbus_transmit_function(uint8_t *buffer, int data_len)
|
int8_t modbus_transmit_function(uint8_t *buffer, int data_len)
|
||||||
{
|
{
|
||||||
return MODBUS_OK; /* TODO */
|
/* TODO */
|
||||||
|
LPUART1_TX_Buffer(buffer, data_len);
|
||||||
|
return MODBUS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -189,23 +191,28 @@ int main(void)
|
|||||||
i2c_context.i2c = I2C1;
|
i2c_context.i2c = I2C1;
|
||||||
i2c_init(&i2c_context);
|
i2c_init(&i2c_context);
|
||||||
|
|
||||||
|
modbus_slave_set_address(0x11);
|
||||||
|
|
||||||
|
scd4x_start_periodic_measurement();
|
||||||
|
uint8_t scd4x_is_connected = 1;
|
||||||
|
uint8_t sps30_is_connected = 0;
|
||||||
/* USER CODE END 2 */
|
/* USER CODE END 2 */
|
||||||
|
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
/* USER CODE BEGIN WHILE */
|
/* USER CODE BEGIN WHILE */
|
||||||
uint8_t scd4x_is_connected = 0;
|
/*uint8_t scd4x_is_connected = 0;
|
||||||
if (scd4x_start_periodic_measurement() == SCD4X_OK)
|
if (scd4x_start_periodic_measurement() == SCD4X_OK)
|
||||||
{
|
{
|
||||||
scd4x_is_connected = 1;
|
scd4x_is_connected = 1;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
/* Attempt to start SPS30 measurement and check if it's connected */
|
/* Attempt to start SPS30 measurement and check if it's connected */
|
||||||
sps30_reset();
|
/*sps30_reset();
|
||||||
uint8_t sps30_is_connected = 0;
|
uint8_t sps30_is_connected = 0;
|
||||||
if (sps30_start_measurement() == SPS30_OK)
|
if (sps30_start_measurement() == SPS30_OK)
|
||||||
{
|
{
|
||||||
sps30_is_connected = 1;
|
sps30_is_connected = 1;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
/* Wait 1000ms for sensors initialization */
|
/* Wait 1000ms for sensors initialization */
|
||||||
/* SHT4x Init Time: max 1 ms (datasheet pg. 8) */
|
/* SHT4x Init Time: max 1 ms (datasheet pg. 8) */
|
||||||
@ -222,15 +229,28 @@ int main(void)
|
|||||||
/* UART RX is done */
|
/* UART RX is done */
|
||||||
if (lpuart1_rx_done == 1)
|
if (lpuart1_rx_done == 1)
|
||||||
{
|
{
|
||||||
/* Process the message:
|
/* Process the message */
|
||||||
* message is stored in modbus_buffer[], no copying necessary;
|
if (lpuart1_rx_message_too_long)
|
||||||
* but we need to make sure that modbus_buffer[] will not be used while
|
{
|
||||||
* processing the message: this can be done by disabling RX interrupt */
|
/* Do nothing, just delete the buffer and set the flag back to zero*/
|
||||||
LL_LPUART_DisableIT_RXNE(LPUART1);
|
lpuart1_rx_message_too_long = 0;
|
||||||
modbus_slave_process_msg(modbus_buffer, lpuart1_rx_message_len);
|
} else
|
||||||
|
{
|
||||||
|
/* Process the message:
|
||||||
|
* message is stored in modbus_buffer[], no copying necessary;
|
||||||
|
* but we need to make sure that modbus_buffer[] will not be used while
|
||||||
|
* processing the message: this can be done by disabling RX interrupt */
|
||||||
|
LL_LPUART_DisableIT_RXNE(LPUART1);
|
||||||
|
modbus_slave_process_msg(modbus_buffer, lpuart1_rx_message_len);
|
||||||
|
/* Reset the RX DONE flag */
|
||||||
|
lpuart1_rx_done = 0;
|
||||||
|
LL_LPUART_EnableIT_RXNE(LPUART1);
|
||||||
|
}
|
||||||
/* Reset the RX DONE flag */
|
/* Reset the RX DONE flag */
|
||||||
lpuart1_rx_done = 0;
|
lpuart1_rx_done = 0;
|
||||||
LL_LPUART_EnableIT_RXNE(LPUART1);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* It is time for measurement */
|
/* It is time for measurement */
|
||||||
@ -410,65 +430,78 @@ static void MX_I2C1_Init(void)
|
|||||||
static void MX_LPUART1_UART_Init(void)
|
static void MX_LPUART1_UART_Init(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* USER CODE BEGIN LPUART1_Init 0 */
|
/* USER CODE BEGIN LPUART1_Init 0 */
|
||||||
|
|
||||||
/* USER CODE END LPUART1_Init 0 */
|
/* USER CODE END LPUART1_Init 0 */
|
||||||
|
|
||||||
LL_LPUART_InitTypeDef LPUART_InitStruct = {0};
|
LL_LPUART_InitTypeDef LPUART_InitStruct = {0};
|
||||||
|
|
||||||
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
|
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||||
|
|
||||||
/* Peripheral clock enable */
|
/* Peripheral clock enable */
|
||||||
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_LPUART1);
|
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_LPUART1);
|
||||||
|
|
||||||
LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);
|
LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);
|
||||||
/**LPUART1 GPIO Configuration
|
LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOB);
|
||||||
PA0-CK_IN ------> LPUART1_RX
|
/**LPUART1 GPIO Configuration
|
||||||
PA1 ------> LPUART1_TX
|
PA0-CK_IN ------> LPUART1_RX
|
||||||
*/
|
PA1 ------> LPUART1_TX
|
||||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
|
PB1 ------> LPUART1_DE
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
|
*/
|
||||||
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH;
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
|
||||||
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
|
||||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
GPIO_InitStruct.Alternate = LL_GPIO_AF_6;
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
||||||
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
|
||||||
|
GPIO_InitStruct.Alternate = LL_GPIO_AF_6;
|
||||||
|
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
|
||||||
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH;
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
||||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
|
GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
|
||||||
GPIO_InitStruct.Alternate = LL_GPIO_AF_6;
|
GPIO_InitStruct.Alternate = LL_GPIO_AF_6;
|
||||||
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* LPUART1 interrupt Init */
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
|
||||||
NVIC_SetPriority(LPUART1_IRQn, 0);
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
|
||||||
NVIC_EnableIRQ(LPUART1_IRQn);
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
||||||
|
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
||||||
|
GPIO_InitStruct.Alternate = LL_GPIO_AF_4;
|
||||||
|
LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* USER CODE BEGIN LPUART1_Init 1 */
|
/* LPUART1 interrupt Init */
|
||||||
|
NVIC_SetPriority(LPUART1_IRQn, 0);
|
||||||
|
NVIC_EnableIRQ(LPUART1_IRQn);
|
||||||
|
|
||||||
/* USER CODE END LPUART1_Init 1 */
|
/* USER CODE BEGIN LPUART1_Init 1 */
|
||||||
LPUART_InitStruct.BaudRate = 115200;
|
|
||||||
LPUART_InitStruct.DataWidth = LL_LPUART_DATAWIDTH_9B;
|
|
||||||
LPUART_InitStruct.StopBits = LL_LPUART_STOPBITS_1;
|
|
||||||
LPUART_InitStruct.Parity = LL_LPUART_PARITY_EVEN;
|
|
||||||
LPUART_InitStruct.TransferDirection = LL_LPUART_DIRECTION_TX_RX;
|
|
||||||
LPUART_InitStruct.HardwareFlowControl = LL_LPUART_HWCONTROL_NONE;
|
|
||||||
LL_LPUART_Init(LPUART1, &LPUART_InitStruct);
|
|
||||||
LL_LPUART_SetTXRXSwap(LPUART1, LL_LPUART_TXRX_SWAPPED);
|
|
||||||
/* USER CODE BEGIN LPUART1_Init 2 */
|
|
||||||
|
|
||||||
/* Enable IDLE Interrupt */
|
/* USER CODE END LPUART1_Init 1 */
|
||||||
LL_LPUART_EnableIT_IDLE(LPUART1);
|
LPUART_InitStruct.BaudRate = 115200;
|
||||||
|
LPUART_InitStruct.DataWidth = LL_LPUART_DATAWIDTH_9B;
|
||||||
|
LPUART_InitStruct.StopBits = LL_LPUART_STOPBITS_1;
|
||||||
|
LPUART_InitStruct.Parity = LL_LPUART_PARITY_EVEN;
|
||||||
|
LPUART_InitStruct.TransferDirection = LL_LPUART_DIRECTION_TX_RX;
|
||||||
|
LPUART_InitStruct.HardwareFlowControl = LL_LPUART_HWCONTROL_NONE;
|
||||||
|
LL_LPUART_Init(LPUART1, &LPUART_InitStruct);
|
||||||
|
LL_LPUART_EnableDEMode(LPUART1);
|
||||||
|
LL_LPUART_SetDESignalPolarity(LPUART1, LL_LPUART_DE_POLARITY_HIGH);
|
||||||
|
LL_LPUART_SetDEAssertionTime(LPUART1, 0);
|
||||||
|
LL_LPUART_SetDEDeassertionTime(LPUART1, 0);
|
||||||
|
/* USER CODE BEGIN LPUART1_Init 2 */
|
||||||
|
|
||||||
/* Enable RX Not Empty Interrupt */
|
/* Enable IDLE Interrupt */
|
||||||
LL_LPUART_EnableIT_RXNE(LPUART1);
|
LL_LPUART_EnableIT_IDLE(LPUART1);
|
||||||
|
|
||||||
LL_LPUART_EnableDirectionRx(LPUART1);
|
/* Enable RX Not Empty Interrupt */
|
||||||
LL_LPUART_EnableDirectionTx(LPUART1);
|
LL_LPUART_EnableIT_RXNE(LPUART1);
|
||||||
LL_LPUART_Enable(LPUART1);
|
|
||||||
/* USER CODE END LPUART1_Init 2 */
|
LL_LPUART_EnableDirectionRx(LPUART1);
|
||||||
|
LL_LPUART_EnableDirectionTx(LPUART1);
|
||||||
|
LL_LPUART_Enable(LPUART1);
|
||||||
|
/* USER CODE END LPUART1_Init 2 */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -559,6 +592,16 @@ static void MX_GPIO_Init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN 4 */
|
/* USER CODE BEGIN 4 */
|
||||||
|
void LPUART1_TX_Buffer(uint8_t* buffer_tx, uint8_t buffer_tx_len)
|
||||||
|
{
|
||||||
|
__disable_irq();
|
||||||
|
for (uint8_t i = 0; i < buffer_tx_len; i++)
|
||||||
|
{
|
||||||
|
LL_LPUART_TransmitData9(LPUART1, buffer_tx[i]);
|
||||||
|
while (!LL_LPUART_IsActiveFlag_TXE(LPUART1));
|
||||||
|
}
|
||||||
|
__enable_irq();
|
||||||
|
}
|
||||||
|
|
||||||
/* USER CODE END 4 */
|
/* USER CODE END 4 */
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "stm32l0xx_it.h"
|
#include "stm32l0xx_it.h"
|
||||||
/* Private includes ----------------------------------------------------------*/
|
/* Private includes ----------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
|
#include "modbus.h"
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
/* Private typedef -----------------------------------------------------------*/
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
@ -42,9 +43,10 @@
|
|||||||
|
|
||||||
/* Private variables ---------------------------------------------------------*/
|
/* Private variables ---------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN PV */
|
/* USER CODE BEGIN PV */
|
||||||
uint8_t lpuart1_rx_message_index = 0;
|
uint16_t lpuart1_rx_message_index = 0;
|
||||||
uint8_t lpuart1_rx_message_len = 0;
|
uint16_t lpuart1_rx_message_len = 0;
|
||||||
uint8_t lpuart1_rx_done = 0;
|
uint8_t lpuart1_rx_done = 0;
|
||||||
|
uint8_t lpuart1_rx_message_too_long = 0;
|
||||||
|
|
||||||
uint8_t tim21_elapsed_period = 0;
|
uint8_t tim21_elapsed_period = 0;
|
||||||
/* USER CODE END PV */
|
/* USER CODE END PV */
|
||||||
@ -187,6 +189,10 @@ void LPUART1_IRQHandler(void)
|
|||||||
lpuart1_rx_message_len = lpuart1_rx_message_index;
|
lpuart1_rx_message_len = lpuart1_rx_message_index;
|
||||||
lpuart1_rx_message_index = 0;
|
lpuart1_rx_message_index = 0;
|
||||||
lpuart1_rx_done = 1;
|
lpuart1_rx_done = 1;
|
||||||
|
if (lpuart1_rx_message_len > MODBUS_MAX_RTU_FRAME_SIZE)
|
||||||
|
{
|
||||||
|
lpuart1_rx_message_too_long = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* USER CODE END LPUART1_IRQn 1 */
|
/* USER CODE END LPUART1_IRQn 1 */
|
||||||
}
|
}
|
||||||
@ -195,10 +201,11 @@ void LPUART1_IRQHandler(void)
|
|||||||
void LPUART1_CharReception_Callback( void )
|
void LPUART1_CharReception_Callback( void )
|
||||||
{
|
{
|
||||||
uint16_t lpuart1_rx_bit = LL_LPUART_ReceiveData9(LPUART1);
|
uint16_t lpuart1_rx_bit = LL_LPUART_ReceiveData9(LPUART1);
|
||||||
if (lpuart1_rx_message_index < (MODBUS_BUFFER_SIZE - 1)) {
|
if (lpuart1_rx_message_index < MODBUS_MAX_RTU_FRAME_SIZE)
|
||||||
/* buffer (defined in modbus.c) is shared for TX and RX */
|
{
|
||||||
modbus_buffer[lpuart1_rx_message_index++] = (uint8_t)lpuart1_rx_bit;
|
modbus_buffer[lpuart1_rx_message_index] = (uint8_t)lpuart1_rx_bit;
|
||||||
}
|
}
|
||||||
|
lpuart1_rx_message_index++;
|
||||||
}
|
}
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
||||||
|
@ -1,73 +1,73 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<launchConfiguration type="com.st.stm32cube.ide.mcu.debug.launch.launchConfigurationType">
|
<launchConfiguration type="com.st.stm32cube.ide.mcu.debug.launch.launchConfigurationType">
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.access_port_id" value="0"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.access_port_id" value="0"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_live_expr" value="true"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_live_expr" value="true"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_swv" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_swv" value="false"/>
|
||||||
<intAttribute key="com.st.stm32cube.ide.mcu.debug.launch.formatVersion" value="2"/>
|
<intAttribute key="com.st.stm32cube.ide.mcu.debug.launch.formatVersion" value="2"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.ip_address_local" value="localhost"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.ip_address_local" value="localhost"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.loadList" value="{"fItems":[{"fIsFromMainTab":true,"fPath":"Debug/iaq_wired_sensor.elf","fProjectName":"iaq_wired_sensor","fPerformBuild":true,"fDownload":true,"fLoadSymbols":true}]}"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.loadList" value="{"fItems":[{"fIsFromMainTab":true,"fPath":"Debug/iaq_wired_sensor.elf","fProjectName":"iaq_wired_sensor","fPerformBuild":true,"fDownload":true,"fLoadSymbols":true}]}"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.override_start_address_mode" value="default"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.override_start_address_mode" value="default"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.remoteCommand" value="target remote"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.remoteCommand" value="target remote"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startServer" value="true"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startServer" value="true"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.divby0" value="true"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.divby0" value="true"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.unaligned" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.unaligned" value="false"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.haltonexception" value="true"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.haltonexception" value="true"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swd_mode" value="true"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swd_mode" value="true"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_port" value="61235"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_port" value="61235"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_div" value="8"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_div" value="8"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_hclk" value="16000000"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_hclk" value="16000000"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.useRemoteTarget" value="true"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.useRemoteTarget" value="true"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.vector_table" value=""/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.vector_table" value=""/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.verify_flash_download" value="true"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.verify_flash_download" value="true"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_allow_halt" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_allow_halt" value="false"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_signal_halt" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_signal_halt" value="false"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_external_loader" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_external_loader" value="false"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_logging" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_logging" value="false"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_max_halt_delay" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_max_halt_delay" value="false"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_shared_stlink" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_shared_stlink" value="false"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.external_loader" value=""/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.external_loader" value=""/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.external_loader_init" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.external_loader_init" value="false"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.frequency" value="0"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.frequency" value="0"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.halt_all_on_reset" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.halt_all_on_reset" value="false"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.log_file" value="/home/user/STM32CubeIDE/workspace_1.5.0/iaq_wired_sensor/Debug/st-link_gdbserver_log.txt"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.log_file" value="/home/user/STM32CubeIDE/workspace_1.5.0/iaq_wired_sensor/Debug/st-link_gdbserver_log.txt"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.low_power_debug" value="enable"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.low_power_debug" value="enable"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.max_halt_delay" value="2"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.max_halt_delay" value="2"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.reset_strategy" value="connect_under_reset"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.reset_strategy" value="connect_under_reset"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_check_serial_number" value="false"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_check_serial_number" value="false"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_txt_serial_number" value=""/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_txt_serial_number" value=""/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.watchdog_config" value="none"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.watchdog_config" value="none"/>
|
||||||
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkrestart_configurations" value="{"fItems":[{"fDisplayName":"Reset","fIsSuppressible":false,"fResetAttribute":"Reset","fResetStrategies":[{"fDisplayName":"Reset","fLaunchAttribute":"monitor reset","fGdbCommands":["monitor reset"],"fCmdOptions":[]},{"fDisplayName":"None","fLaunchAttribute":"no_reset","fGdbCommands":[],"fCmdOptions":[]}],"fGdbCommandGroup":{"name":"Additional commands","commands":[]}}]}"/>
|
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkrestart_configurations" value="{"fItems":[{"fDisplayName":"Reset","fIsSuppressible":false,"fResetAttribute":"Software system reset","fResetStrategies":[{"fDisplayName":"Software system reset","fLaunchAttribute":"system_reset","fGdbCommands":["monitor reset\n"],"fCmdOptions":["-g"]},{"fDisplayName":"Hardware reset","fLaunchAttribute":"hardware_reset","fGdbCommands":["monitor reset hardware\n"],"fCmdOptions":["-g"]},{"fDisplayName":"Core reset","fLaunchAttribute":"core_reset","fGdbCommands":["monitor reset core\n"],"fCmdOptions":["-g"]},{"fDisplayName":"None","fLaunchAttribute":"no_reset","fGdbCommands":[],"fCmdOptions":["-g"]}],"fGdbCommandGroup":{"name":"Additional commands","commands":[]}}]}"/>
|
||||||
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.swv.swv_wait_for_sync" value="true"/>
|
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.swv.swv_wait_for_sync" value="true"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="ST-LINK (ST-LINK GDB server)"/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="ST-LINK (ST-LINK GDB server)"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
|
||||||
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="61234"/>
|
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="61234"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
|
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="true"/>
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="true"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
|
||||||
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
|
||||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
|
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
|
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/iaq_wired_sensor.elf"/>
|
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/iaq_wired_sensor.elf"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="iaq_wired_sensor"/>
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="iaq_wired_sensor"/>
|
||||||
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
|
||||||
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1512690796"/>
|
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1512690796"/>
|
||||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||||
<listEntry value="/iaq_wired_sensor"/>
|
<listEntry value="/iaq_wired_sensor"/>
|
||||||
</listAttribute>
|
</listAttribute>
|
||||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||||
<listEntry value="4"/>
|
<listEntry value="4"/>
|
||||||
</listAttribute>
|
</listAttribute>
|
||||||
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <memoryBlockExpressionList context="reserved-for-future-use"/> "/>
|
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><memoryBlockExpressionList context="reserved-for-future-use"/>"/>
|
||||||
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
|
||||||
</launchConfiguration>
|
</launchConfiguration>
|
||||||
|
@ -1,151 +1,150 @@
|
|||||||
#MicroXplorer Configuration settings - do not modify
|
#MicroXplorer Configuration settings - do not modify
|
||||||
Mcu.Family=STM32L0
|
File.Version=6
|
||||||
PA6.GPIOParameters=PinState,GPIO_Label
|
GPIO.groupedBy=Group By Peripherals
|
||||||
RCC.MSI_VALUE=2097000
|
|
||||||
ProjectManager.MainLocation=Core/Src
|
|
||||||
PA0-CK_IN.GPIOParameters=GPIO_PuPd
|
|
||||||
ProjectManager.ProjectFileName=iaq_wired_sensor.ioc
|
|
||||||
ProjectManager.KeepUserCode=true
|
|
||||||
PA10.Mode=I2C
|
|
||||||
Mcu.UserName=STM32L011F4Ux
|
|
||||||
Mcu.PinsNb=11
|
|
||||||
ProjectManager.NoMain=false
|
|
||||||
TIM21.IPParameters=Prescaler,Period,AutoReloadPreload,ClockDivision
|
|
||||||
PA0-CK_IN.Mode=Asynchronous
|
|
||||||
RCC.LPUARTFreq_Value=12000000
|
|
||||||
RCC.PLLCLKFreq_Value=12000000
|
|
||||||
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-LL-true,2-SystemClock_Config-RCC-false-LL-false,3-MX_I2C1_Init-I2C1-false-LL-true,4-MX_LPUART1_UART_Init-LPUART1-false-LL-true,5-MX_TIM21_Init-TIM21-false-LL-true
|
|
||||||
RCC.RTCFreq_Value=37000
|
|
||||||
TIM21.ClockDivision=TIM_CLOCKDIVISION_DIV1
|
|
||||||
LPUART1.WordLength=UART_WORDLENGTH_9B
|
|
||||||
ProjectManager.DefaultFWLocation=true
|
|
||||||
PA6.PinState=GPIO_PIN_SET
|
|
||||||
PA6.GPIO_Label=LED_G
|
|
||||||
RCC.USART2Freq_Value=12000000
|
|
||||||
NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
|
||||||
ProjectManager.DeletePrevious=true
|
|
||||||
RCC.TimerFreq_Value=12000000
|
|
||||||
PA5.PinState=GPIO_PIN_SET
|
|
||||||
LPUART1.IPParameters=BaudRate,SwapParam,OneBitSampling,WordLength,Parity
|
|
||||||
PinOutPanel.RotationAngle=0
|
|
||||||
RCC.FamilyName=M
|
|
||||||
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
|
|
||||||
ProjectManager.StackSize=0x400
|
|
||||||
RCC.WatchDogFreq_Value=37000
|
|
||||||
PA13.Signal=SYS_SWDIO
|
|
||||||
Mcu.IP4=SYS
|
|
||||||
RCC.FCLKCortexFreq_Value=12000000
|
|
||||||
RCC.HSI16_VALUE=16000000
|
|
||||||
Mcu.IP5=TIM21
|
|
||||||
I2C1.IPParameters=Timing
|
I2C1.IPParameters=Timing
|
||||||
|
I2C1.Timing=0x40000A0B
|
||||||
|
KeepUserPlacement=false
|
||||||
|
LPUART1.BaudRate=115200
|
||||||
|
LPUART1.IPParameters=BaudRate,SwapParam,OneBitSampling,WordLength,Parity
|
||||||
|
LPUART1.OneBitSampling=UART_ONE_BIT_SAMPLE_ENABLE
|
||||||
|
LPUART1.Parity=UART_PARITY_EVEN
|
||||||
|
LPUART1.SwapParam=UART_ADVFEATURE_SWAP_ENABLE
|
||||||
|
LPUART1.WordLength=UART_WORDLENGTH_9B
|
||||||
|
Mcu.Family=STM32L0
|
||||||
|
Mcu.IP0=I2C1
|
||||||
|
Mcu.IP1=LPUART1
|
||||||
Mcu.IP2=NVIC
|
Mcu.IP2=NVIC
|
||||||
Mcu.IP3=RCC
|
Mcu.IP3=RCC
|
||||||
LPUART1.OneBitSampling=UART_ONE_BIT_SAMPLE_ENABLE
|
Mcu.IP4=SYS
|
||||||
Mcu.IP0=I2C1
|
Mcu.IP5=TIM21
|
||||||
PA9.Mode=I2C
|
|
||||||
Mcu.IP1=LPUART1
|
|
||||||
TIM21.Period=tim21_period
|
|
||||||
RCC.PLLDIV=RCC_PLLDIV_4
|
|
||||||
Mcu.UserConstants=
|
|
||||||
PA7.PinState=GPIO_PIN_SET
|
|
||||||
ProjectManager.TargetToolchain=STM32CubeIDE
|
|
||||||
Mcu.ThirdPartyNb=0
|
|
||||||
NVIC.LPUART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
|
|
||||||
RCC.HCLKFreq_Value=12000000
|
|
||||||
Mcu.IPNb=6
|
Mcu.IPNb=6
|
||||||
ProjectManager.PreviousToolchain=
|
Mcu.Name=STM32L011F(3-4)Ux
|
||||||
RCC.APB2TimFreq_Value=12000000
|
Mcu.Package=UFQFPN20
|
||||||
PA9.Signal=I2C1_SCL
|
|
||||||
I2C1.Timing=0x40000A0B
|
|
||||||
LPUART1.Parity=UART_PARITY_EVEN
|
|
||||||
Mcu.Pin6=PA10
|
|
||||||
Mcu.Pin7=PA13
|
|
||||||
ProjectManager.RegisterCallBack=
|
|
||||||
Mcu.Pin8=PA14
|
|
||||||
Mcu.Pin9=VP_SYS_VS_Systick
|
|
||||||
PA0-CK_IN.GPIO_PuPd=GPIO_PULLUP
|
|
||||||
RCC.LSE_VALUE=32768
|
|
||||||
PA1.GPIO_PuPd=GPIO_PULLUP
|
|
||||||
PA1.Signal=LPUART1_TX
|
|
||||||
RCC.AHBFreq_Value=12000000
|
|
||||||
Mcu.Pin0=PA0-CK_IN
|
Mcu.Pin0=PA0-CK_IN
|
||||||
Mcu.Pin1=PA1
|
Mcu.Pin1=PA1
|
||||||
GPIO.groupedBy=Group By Peripherals
|
Mcu.Pin10=VP_TIM21_VS_ClockSourceINT
|
||||||
Mcu.Pin2=PA5
|
Mcu.Pin2=PA5
|
||||||
Mcu.Pin3=PA6
|
Mcu.Pin3=PA6
|
||||||
Mcu.Pin4=PA7
|
Mcu.Pin4=PA7
|
||||||
Mcu.Pin5=PA9
|
Mcu.Pin5=PA9
|
||||||
PA5.Signal=GPIO_Output
|
Mcu.Pin6=PA10
|
||||||
ProjectManager.ProjectBuild=false
|
Mcu.Pin7=PA13
|
||||||
RCC.HSE_VALUE=8000000
|
Mcu.Pin8=PA14
|
||||||
RCC.MCOPinFreq_Value=12000000
|
Mcu.Pin9=VP_SYS_VS_Systick
|
||||||
board=custom
|
Mcu.PinsNb=11
|
||||||
RCC.VCOOutputFreq_Value=48000000
|
Mcu.ThirdPartyNb=0
|
||||||
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
|
Mcu.UserConstants=
|
||||||
ProjectManager.LastFirmware=true
|
Mcu.UserName=STM32L011F4Ux
|
||||||
ProjectManager.FirmwarePackage=STM32Cube FW_L0 V1.12.0
|
|
||||||
PA0-CK_IN.Signal=LPUART1_RX
|
|
||||||
MxDb.Version=DB.6.0.21
|
|
||||||
RCC.APB2Freq_Value=12000000
|
|
||||||
PA1.Mode=Asynchronous
|
|
||||||
PA1.GPIOParameters=GPIO_PuPd
|
|
||||||
ProjectManager.BackupPrevious=false
|
|
||||||
MxCube.Version=6.2.1
|
MxCube.Version=6.2.1
|
||||||
VP_TIM21_VS_ClockSourceINT.Mode=Internal
|
MxDb.Version=DB.6.0.21
|
||||||
RCC.I2C1Freq_Value=12000000
|
|
||||||
PA14.Mode=Serial_Wire
|
|
||||||
TIM21.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
|
|
||||||
TIM21.Prescaler=tim21_prescaler
|
|
||||||
File.Version=6
|
|
||||||
VP_SYS_VS_Systick.Mode=SysTick
|
|
||||||
TIM21.IPParametersWithoutCheck=Prescaler,Period
|
|
||||||
PA9.Locked=true
|
|
||||||
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
|
||||||
NVIC.TIM21_IRQn=true\:0\:0\:false\:false\:true\:true\:true
|
|
||||||
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
|
||||||
PA13.Mode=Serial_Wire
|
|
||||||
ProjectManager.FreePins=false
|
|
||||||
RCC.IPParameters=AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI16_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIMFreq_Value,LPUARTFreq_Value,LSE_VALUE,LSI_VALUE,MCOPinFreq_Value,MSI_VALUE,PLLCLKFreq_Value,PLLDIV,PWRFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TIMFreq_Value,TimerFreq_Value,USART2Freq_Value,VCOOutputFreq_Value,WatchDogFreq_Value
|
|
||||||
ProjectManager.AskForMigrate=true
|
|
||||||
Mcu.Name=STM32L011F(3-4)Ux
|
|
||||||
ProjectManager.HalAssertFull=false
|
|
||||||
LPUART1.BaudRate=115200
|
|
||||||
RCC.RTCHSEDivFreq_Value=4000000
|
|
||||||
ProjectManager.ProjectName=iaq_wired_sensor
|
|
||||||
ProjectManager.UnderRoot=true
|
|
||||||
ProjectManager.CoupleFile=false
|
|
||||||
RCC.SYSCLKFreq_VALUE=12000000
|
|
||||||
Mcu.Package=UFQFPN20
|
|
||||||
PA6.Signal=GPIO_Output
|
|
||||||
PA7.GPIO_Label=LED_R
|
|
||||||
PA5.Locked=true
|
|
||||||
PA7.Locked=true
|
|
||||||
LPUART1.SwapParam=UART_ADVFEATURE_SWAP_ENABLE
|
|
||||||
PA5.GPIO_Label=LED_B
|
|
||||||
NVIC.ForceEnableDMAVector=true
|
NVIC.ForceEnableDMAVector=true
|
||||||
KeepUserPlacement=false
|
|
||||||
ProjectManager.CompilerOptimize=6
|
|
||||||
ProjectManager.ToolChainLocation=
|
|
||||||
RCC.LSI_VALUE=37000
|
|
||||||
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
|
|
||||||
PA10.Signal=I2C1_SDA
|
|
||||||
PA14.Signal=SYS_SWCLK
|
|
||||||
ProjectManager.HeapSize=0x200
|
|
||||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||||
|
NVIC.LPUART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
|
||||||
|
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||||
|
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||||
|
NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||||
|
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
|
||||||
|
NVIC.TIM21_IRQn=true\:0\:0\:false\:false\:true\:true\:true
|
||||||
|
PA0-CK_IN.GPIOParameters=GPIO_PuPd
|
||||||
|
PA0-CK_IN.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PA0-CK_IN.Mode=Asynchronous
|
||||||
|
PA0-CK_IN.Signal=LPUART1_RX
|
||||||
|
PA1.GPIOParameters=GPIO_PuPd
|
||||||
|
PA1.GPIO_PuPd=GPIO_PULLUP
|
||||||
|
PA1.Mode=Asynchronous
|
||||||
|
PA1.Signal=LPUART1_TX
|
||||||
|
PA10.Mode=I2C
|
||||||
|
PA10.Signal=I2C1_SDA
|
||||||
|
PA13.Mode=Serial_Wire
|
||||||
|
PA13.Signal=SYS_SWDIO
|
||||||
|
PA14.Mode=Serial_Wire
|
||||||
|
PA14.Signal=SYS_SWCLK
|
||||||
PA5.GPIOParameters=PinState,GPIO_Label
|
PA5.GPIOParameters=PinState,GPIO_Label
|
||||||
ProjectManager.ComputerToolchain=false
|
PA5.GPIO_Label=LED_B
|
||||||
RCC.HSI_VALUE=16000000
|
PA5.Locked=true
|
||||||
Mcu.Pin10=VP_TIM21_VS_ClockSourceINT
|
PA5.PinState=GPIO_PIN_SET
|
||||||
RCC.APB1TimFreq_Value=12000000
|
PA5.Signal=GPIO_Output
|
||||||
RCC.PWRFreq_Value=12000000
|
PA6.GPIOParameters=PinState,GPIO_Label
|
||||||
RCC.APB1Freq_Value=12000000
|
PA6.GPIO_Label=LED_G
|
||||||
PA7.GPIOParameters=PinState,GPIO_Label
|
|
||||||
ProjectManager.CustomerFirmwarePackage=
|
|
||||||
ProjectManager.DeviceId=STM32L011F4Ux
|
|
||||||
ProjectManager.LibraryCopy=1
|
|
||||||
RCC.LPTIMFreq_Value=12000000
|
|
||||||
PA7.Signal=GPIO_Output
|
|
||||||
VP_TIM21_VS_ClockSourceINT.Signal=TIM21_VS_ClockSourceINT
|
|
||||||
RCC.TIMFreq_Value=12000000
|
|
||||||
PA6.Locked=true
|
PA6.Locked=true
|
||||||
isbadioc=false
|
PA6.PinState=GPIO_PIN_SET
|
||||||
|
PA6.Signal=GPIO_Output
|
||||||
|
PA7.GPIOParameters=PinState,GPIO_Label
|
||||||
|
PA7.GPIO_Label=LED_R
|
||||||
|
PA7.Locked=true
|
||||||
|
PA7.PinState=GPIO_PIN_SET
|
||||||
|
PA7.Signal=GPIO_Output
|
||||||
|
PA9.Locked=true
|
||||||
|
PA9.Mode=I2C
|
||||||
|
PA9.Signal=I2C1_SCL
|
||||||
|
PinOutPanel.RotationAngle=0
|
||||||
|
ProjectManager.AskForMigrate=true
|
||||||
|
ProjectManager.BackupPrevious=false
|
||||||
|
ProjectManager.CompilerOptimize=6
|
||||||
|
ProjectManager.ComputerToolchain=false
|
||||||
|
ProjectManager.CoupleFile=false
|
||||||
|
ProjectManager.CustomerFirmwarePackage=
|
||||||
|
ProjectManager.DefaultFWLocation=true
|
||||||
|
ProjectManager.DeletePrevious=true
|
||||||
|
ProjectManager.DeviceId=STM32L011F4Ux
|
||||||
|
ProjectManager.FirmwarePackage=STM32Cube FW_L0 V1.12.0
|
||||||
|
ProjectManager.FreePins=false
|
||||||
|
ProjectManager.HalAssertFull=false
|
||||||
|
ProjectManager.HeapSize=0x200
|
||||||
|
ProjectManager.KeepUserCode=true
|
||||||
|
ProjectManager.LastFirmware=true
|
||||||
|
ProjectManager.LibraryCopy=1
|
||||||
|
ProjectManager.MainLocation=Core/Src
|
||||||
|
ProjectManager.NoMain=false
|
||||||
|
ProjectManager.PreviousToolchain=
|
||||||
|
ProjectManager.ProjectBuild=false
|
||||||
|
ProjectManager.ProjectFileName=iaq_wired_sensor.ioc
|
||||||
|
ProjectManager.ProjectName=iaq_wired_sensor
|
||||||
|
ProjectManager.RegisterCallBack=
|
||||||
|
ProjectManager.StackSize=0x400
|
||||||
|
ProjectManager.TargetToolchain=STM32CubeIDE
|
||||||
|
ProjectManager.ToolChainLocation=
|
||||||
|
ProjectManager.UnderRoot=true
|
||||||
|
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-LL-true,2-SystemClock_Config-RCC-false-LL-false,3-MX_I2C1_Init-I2C1-false-LL-true,4-MX_LPUART1_UART_Init-LPUART1-false-LL-true,5-MX_TIM21_Init-TIM21-false-LL-true
|
||||||
|
RCC.AHBFreq_Value=12000000
|
||||||
|
RCC.APB1Freq_Value=12000000
|
||||||
|
RCC.APB1TimFreq_Value=12000000
|
||||||
|
RCC.APB2Freq_Value=12000000
|
||||||
|
RCC.APB2TimFreq_Value=12000000
|
||||||
|
RCC.FCLKCortexFreq_Value=12000000
|
||||||
|
RCC.FamilyName=M
|
||||||
|
RCC.HCLKFreq_Value=12000000
|
||||||
|
RCC.HSE_VALUE=8000000
|
||||||
|
RCC.HSI16_VALUE=16000000
|
||||||
|
RCC.HSI_VALUE=16000000
|
||||||
|
RCC.I2C1Freq_Value=12000000
|
||||||
|
RCC.IPParameters=AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI16_VALUE,HSI_VALUE,I2C1Freq_Value,LPTIMFreq_Value,LPUARTFreq_Value,LSE_VALUE,LSI_VALUE,MCOPinFreq_Value,MSI_VALUE,PLLCLKFreq_Value,PLLDIV,PWRFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TIMFreq_Value,TimerFreq_Value,USART2Freq_Value,VCOOutputFreq_Value,WatchDogFreq_Value
|
||||||
|
RCC.LPTIMFreq_Value=12000000
|
||||||
|
RCC.LPUARTFreq_Value=12000000
|
||||||
|
RCC.LSE_VALUE=32768
|
||||||
|
RCC.LSI_VALUE=37000
|
||||||
|
RCC.MCOPinFreq_Value=12000000
|
||||||
|
RCC.MSI_VALUE=2097000
|
||||||
|
RCC.PLLCLKFreq_Value=12000000
|
||||||
|
RCC.PLLDIV=RCC_PLLDIV_4
|
||||||
|
RCC.PWRFreq_Value=12000000
|
||||||
|
RCC.RTCFreq_Value=37000
|
||||||
|
RCC.RTCHSEDivFreq_Value=4000000
|
||||||
|
RCC.SYSCLKFreq_VALUE=12000000
|
||||||
|
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
|
||||||
|
RCC.TIMFreq_Value=12000000
|
||||||
|
RCC.TimerFreq_Value=12000000
|
||||||
|
RCC.USART2Freq_Value=12000000
|
||||||
|
RCC.VCOOutputFreq_Value=48000000
|
||||||
|
RCC.WatchDogFreq_Value=37000
|
||||||
|
TIM21.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
|
||||||
|
TIM21.ClockDivision=TIM_CLOCKDIVISION_DIV1
|
||||||
|
TIM21.IPParameters=Prescaler,Period,AutoReloadPreload,ClockDivision
|
||||||
|
TIM21.IPParametersWithoutCheck=Prescaler,Period
|
||||||
|
TIM21.Period=tim21_period
|
||||||
|
TIM21.Prescaler=tim21_prescaler
|
||||||
|
VP_SYS_VS_Systick.Mode=SysTick
|
||||||
|
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
|
||||||
|
VP_TIM21_VS_ClockSourceINT.Mode=Internal
|
||||||
|
VP_TIM21_VS_ClockSourceINT.Signal=TIM21_VS_ClockSourceINT
|
||||||
|
board=custom
|
||||||
|
Loading…
Reference in New Issue
Block a user