增加传感器
This commit is contained in:
parent
5870cee759
commit
542ff3208c
|
@ -41,14 +41,27 @@ void MX_ADC_Init(void)
|
||||||
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_ADC1);
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_ADC1);
|
||||||
|
|
||||||
LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOC);
|
LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOC);
|
||||||
|
LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOB);
|
||||||
/**ADC GPIO Configuration
|
/**ADC GPIO Configuration
|
||||||
|
PC0 ------> ADC_IN10
|
||||||
PC3 ------> ADC_IN13
|
PC3 ------> ADC_IN13
|
||||||
|
PB0 ------> ADC_IN8
|
||||||
*/
|
*/
|
||||||
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
|
||||||
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
||||||
|
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
||||||
|
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = MG_ADC_IN13_Pin;
|
GPIO_InitStruct.Pin = MG_ADC_IN13_Pin;
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
||||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
||||||
LL_GPIO_Init(MG_ADC_IN13_GPIO_Port, &GPIO_InitStruct);
|
LL_GPIO_Init(MG_ADC_IN13_GPIO_Port, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
|
||||||
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
||||||
|
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
||||||
|
LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* ADC DMA Init */
|
/* ADC DMA Init */
|
||||||
|
|
||||||
/* ADC Init */
|
/* ADC Init */
|
||||||
|
@ -72,6 +85,14 @@ void MX_ADC_Init(void)
|
||||||
|
|
||||||
/* USER CODE END ADC_Init 1 */
|
/* USER CODE END ADC_Init 1 */
|
||||||
|
|
||||||
|
/** Configure Regular Channel
|
||||||
|
*/
|
||||||
|
LL_ADC_REG_SetSequencerChAdd(ADC1, LL_ADC_CHANNEL_8);
|
||||||
|
|
||||||
|
/** Configure Regular Channel
|
||||||
|
*/
|
||||||
|
LL_ADC_REG_SetSequencerChAdd(ADC1, LL_ADC_CHANNEL_10);
|
||||||
|
|
||||||
/** Configure Regular Channel
|
/** Configure Regular Channel
|
||||||
*/
|
*/
|
||||||
LL_ADC_REG_SetSequencerChAdd(ADC1, LL_ADC_CHANNEL_13);
|
LL_ADC_REG_SetSequencerChAdd(ADC1, LL_ADC_CHANNEL_13);
|
||||||
|
|
|
@ -78,12 +78,6 @@ void MX_GPIO_Init(void)
|
||||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
||||||
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
/**/
|
|
||||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
|
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
|
||||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
|
||||||
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
||||||
|
@ -156,12 +150,6 @@ void MX_GPIO_Init(void)
|
||||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
||||||
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
/**/
|
|
||||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_0;
|
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
|
||||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
|
||||||
LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_1;
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
||||||
|
|
|
@ -198,7 +198,6 @@ void TIM21_IRQHandler(void)
|
||||||
/* USER CODE BEGIN TIM21_IRQn 0 */
|
/* USER CODE BEGIN TIM21_IRQn 0 */
|
||||||
|
|
||||||
/* USER CODE END TIM21_IRQn 0 */
|
/* USER CODE END TIM21_IRQn 0 */
|
||||||
|
|
||||||
/* USER CODE BEGIN TIM21_IRQn 1 */
|
/* USER CODE BEGIN TIM21_IRQn 1 */
|
||||||
if (LL_TIM_IsActiveFlag_UPDATE(TIM21))
|
if (LL_TIM_IsActiveFlag_UPDATE(TIM21))
|
||||||
{
|
{
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -15,8 +15,10 @@ typedef struct
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
calibration_sensor_data_t torsion_in13; // 扭力
|
calibration_sensor_data_t torsion_in13; // 扭力
|
||||||
calibration_sensor_data_t pressure_in7; // 压力
|
calibration_sensor_data_t ipressure_in7; // 压力
|
||||||
calibration_sensor_data_t pressure_in8; // 流量
|
calibration_sensor_data_t iflow_in8; // 流量
|
||||||
|
calibration_sensor_data_t opressure_in9; // 压力
|
||||||
|
calibration_sensor_data_t oflow_in10; // 流量
|
||||||
} adcs_t;
|
} adcs_t;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|
|
@ -19,17 +19,25 @@ static uint8_t adc_inspection(struct flow *fl)
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
// 扭力
|
// 扭力
|
||||||
app.adc.torsion_in13.original_value = get_torsion_adc();
|
app.adc.torsion_in13.original_value = get_sensor_adc(GET_TORSION_VALUE);
|
||||||
app.adc.torsion_in13.calibration_value = torsion_detect();
|
app.adc.torsion_in13.calibration_value = torsion_detect();
|
||||||
sensor_adc[GET_TORSION_VALUE] = S2B_UINT16(app.adc.torsion_in13.original_value);
|
sensor_adc[GET_TORSION_VALUE] = S2B_UINT16(app.adc.torsion_in13.original_value);
|
||||||
// 压力
|
// 输入压力
|
||||||
app.adc.pressure_in7.original_value = get_pressure_adc();
|
app.adc.ipressure_in7.original_value = get_sensor_adc(GET_INPUT_PRESS_VALUE);
|
||||||
app.adc.pressure_in7.calibration_value = pressure_detect();
|
app.adc.ipressure_in7.calibration_value = pressure_detect(GET_INPUT_PRESS_VALUE);
|
||||||
sensor_adc[GET_PRESSURE_VALUE] = S2B_UINT16(app.adc.pressure_in7.original_value);
|
sensor_adc[GET_INPUT_PRESS_VALUE] = S2B_UINT16(app.adc.ipressure_in7.original_value);
|
||||||
// 流量
|
// 输出压力
|
||||||
app.adc.pressure_in8.original_value = get_flow_adc();
|
app.adc.opressure_in9.original_value = get_sensor_adc(GET_OUTPUT_PRESS_VALUE);
|
||||||
app.adc.pressure_in8.calibration_value = flow_detect();
|
app.adc.opressure_in9.calibration_value = pressure_detect(GET_OUTPUT_PRESS_VALUE);
|
||||||
sensor_adc[GET_FLOW_VALUE] = S2B_UINT16(app.adc.pressure_in8.original_value);
|
sensor_adc[GET_OUTPUT_PRESS_VALUE] = S2B_UINT16(app.adc.opressure_in9.original_value);
|
||||||
|
// 输入流量
|
||||||
|
app.adc.iflow_in8.original_value = get_sensor_adc(GET_INPUT_FLOW_VALUE);
|
||||||
|
app.adc.iflow_in8.calibration_value = flow_detect(GET_INPUT_FLOW_VALUE);
|
||||||
|
sensor_adc[GET_INPUT_FLOW_VALUE] = S2B_UINT16(app.adc.iflow_in8.original_value);
|
||||||
|
// 输出流量
|
||||||
|
app.adc.oflow_in10.original_value = get_sensor_adc(GET_OUTPUT_FLOW_VALUE);
|
||||||
|
app.adc.oflow_in10.calibration_value = flow_detect(GET_OUTPUT_FLOW_VALUE);
|
||||||
|
sensor_adc[GET_OUTPUT_FLOW_VALUE] = S2B_UINT16(app.adc.oflow_in10.original_value);
|
||||||
|
|
||||||
FL_LOCK_DELAY(fl, FL_CLOCK_100MSEC); /* 延时100毫秒 */
|
FL_LOCK_DELAY(fl, FL_CLOCK_100MSEC); /* 延时100毫秒 */
|
||||||
}
|
}
|
||||||
|
|
|
@ -272,10 +272,29 @@ adc_t adc1 = {
|
||||||
.dma_channel = LL_DMA_CHANNEL_1,
|
.dma_channel = LL_DMA_CHANNEL_1,
|
||||||
};
|
};
|
||||||
|
|
||||||
// 扭力,单位:N·m
|
uint16_t get_sensor_adc(uint8_t id)
|
||||||
uint16_t get_torsion_adc(void)
|
|
||||||
{
|
{
|
||||||
uint16_t adc = adc_get_result_average(IN13);
|
uint16_t adc = 0;
|
||||||
|
|
||||||
|
switch (id)
|
||||||
|
{
|
||||||
|
case GET_TORSION_VALUE: // 扭力,单位:N·m
|
||||||
|
adc = adc_get_result_average(IN13);
|
||||||
|
break;
|
||||||
|
case GET_INPUT_PRESS_VALUE: // 输入压力,单位:kPa
|
||||||
|
adc = adc_get_result_average(IN7);
|
||||||
|
break;
|
||||||
|
case GET_OUTPUT_PRESS_VALUE: // 输出压力,单位:kPa
|
||||||
|
adc = adc_get_result_average(IN9);
|
||||||
|
break;
|
||||||
|
case GET_INPUT_FLOW_VALUE: // 输入流量,单位:SLPM
|
||||||
|
adc = adc_get_result_average(IN8);
|
||||||
|
break;
|
||||||
|
case GET_OUTPUT_FLOW_VALUE: // 输出流量,单位:SLPM
|
||||||
|
adc = adc_get_result_average(IN10);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
return adc;
|
return adc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -283,43 +302,29 @@ float32 torsion_detect(void)
|
||||||
{
|
{
|
||||||
float32 adc = 0.0, val = 0.0;
|
float32 adc = 0.0, val = 0.0;
|
||||||
|
|
||||||
adc = get_torsion_adc();
|
adc = get_sensor_adc(GET_TORSION_VALUE);
|
||||||
val = adc / 4096 * 3000;
|
val = adc / 4096 * 3000;
|
||||||
val = (val - 1500) / 101 / (1.934 * 3) * 10;
|
val = (val - 1500) / 101 / (1.934 * 3) * 10;
|
||||||
|
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 压力,单位:kPa
|
float32 pressure_detect(uint8_t id)
|
||||||
uint16_t get_pressure_adc(void)
|
|
||||||
{
|
|
||||||
uint16_t adc = adc_get_result_average(IN7);
|
|
||||||
return adc;
|
|
||||||
}
|
|
||||||
|
|
||||||
float32 pressure_detect(void)
|
|
||||||
{
|
{
|
||||||
float32 adc = 0.0, val = 0.0;
|
float32 adc = 0.0, val = 0.0;
|
||||||
|
|
||||||
adc = get_pressure_adc();
|
adc = get_sensor_adc(id);
|
||||||
val = adc / 4096 * 3000;
|
val = adc / 4096 * 3000;
|
||||||
val = (val - 600) / (10 * 15) / 16 * 1000;
|
val = (val - 600) / (10 * 15) / 16 * 1000;
|
||||||
|
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 流量,单位:SLPM
|
float32 flow_detect(uint8_t id)
|
||||||
uint16_t get_flow_adc(void)
|
|
||||||
{
|
|
||||||
uint16_t adc = adc_get_result_average(IN8);
|
|
||||||
return adc;
|
|
||||||
}
|
|
||||||
|
|
||||||
float32 flow_detect(void)
|
|
||||||
{
|
{
|
||||||
float32 adc = 0.0, val = 0.0;
|
float32 adc = 0.0, val = 0.0;
|
||||||
|
|
||||||
adc = get_flow_adc();
|
adc = get_sensor_adc(id);
|
||||||
val = adc / 4096 * 3000;
|
val = adc / 4096 * 3000;
|
||||||
val = (val - 600) / (10 * 15) / 16 * 300;
|
val = (val - 600) / (10 * 15) / 16 * 300;
|
||||||
|
|
||||||
|
@ -368,6 +373,8 @@ uint8_t test_buffer[UART_RXSIZE] = {0}; // 数据接收缓存
|
||||||
// 传感器测试指令
|
// 传感器测试指令
|
||||||
static uint8_t test_sensor_cmd(uint8_t cmd, uint8_t *buf)
|
static uint8_t test_sensor_cmd(uint8_t cmd, uint8_t *buf)
|
||||||
{
|
{
|
||||||
|
osel_memset(buf, 0, UART_RXSIZE);
|
||||||
|
|
||||||
uint8_t ver_len = 0;
|
uint8_t ver_len = 0;
|
||||||
uint8_t index = 0;
|
uint8_t index = 0;
|
||||||
frame_msg_t msg;
|
frame_msg_t msg;
|
||||||
|
@ -376,15 +383,56 @@ static uint8_t test_sensor_cmd(uint8_t cmd, uint8_t *buf)
|
||||||
msg.dev_no = ADC_SENSOR;
|
msg.dev_no = ADC_SENSOR;
|
||||||
msg.cmd_no = cmd;
|
msg.cmd_no = cmd;
|
||||||
msg.len = 0;
|
msg.len = 0;
|
||||||
|
|
||||||
index = DATA_INDEX;
|
index = DATA_INDEX;
|
||||||
osel_memset(buf, 0, UART_RXSIZE);
|
|
||||||
osel_memcpy(buf, (uint8_t *)&msg, index);
|
osel_memcpy(buf, (uint8_t *)&msg, index);
|
||||||
buf[index] = xor_compute((uint8_t *)&buf[1], (index - 1));
|
// 校验
|
||||||
|
buf[index] = xor_compute((uint8_t *)&buf[1], (index - 1)); // 减掉包头
|
||||||
index += 1;
|
index += 1;
|
||||||
|
// 包尾
|
||||||
buf[index] = PACKET_ETX;
|
buf[index] = PACKET_ETX;
|
||||||
index += 1;
|
index += 1;
|
||||||
|
// 帧长度
|
||||||
|
ver_len = index;
|
||||||
|
return ver_len;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 电机测试指令
|
||||||
|
static uint8_t test_motor_cmd(uint8_t cmd, uint8_t *buf)
|
||||||
|
{
|
||||||
|
uint8_t ver_len = 0;
|
||||||
|
uint8_t index = 0;
|
||||||
|
frame_msg_t msg;
|
||||||
|
motor_ctrl_t motor_param;
|
||||||
|
msg.head = PACKET_STX;
|
||||||
|
msg.state = ST_DEV_NORMAL;
|
||||||
|
msg.dev_no = ADC_SENSOR;
|
||||||
|
msg.cmd_no = cmd;
|
||||||
|
switch (cmd)
|
||||||
|
{
|
||||||
|
case MOTOR_MOVE:
|
||||||
|
msg.len = 5; // 方向1个字节,角度4个字节
|
||||||
|
break;
|
||||||
|
case MOTOR_STOP:
|
||||||
|
msg.len = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
index = DATA_INDEX;
|
||||||
|
osel_memcpy(buf, (uint8_t *)&msg, index);
|
||||||
|
|
||||||
|
if (cmd == MOTOR_MOVE)
|
||||||
|
{
|
||||||
|
motor_param.dir = DIR_CW;
|
||||||
|
motor_param.angle = 1.2;
|
||||||
|
}
|
||||||
|
osel_memcpy((uint8_t *)&buf[index], (uint8_t *)&motor_param, sizeof(motor_ctrl_t));
|
||||||
|
index += sizeof(motor_ctrl_t);
|
||||||
|
// 校验
|
||||||
|
buf[index] = xor_compute((uint8_t *)&buf[1], (index - 1)); // 减掉包头
|
||||||
|
index += 1;
|
||||||
|
// 包尾
|
||||||
|
buf[index] = PACKET_ETX;
|
||||||
|
index += 1;
|
||||||
|
// 帧长度
|
||||||
ver_len = index;
|
ver_len = index;
|
||||||
return ver_len;
|
return ver_len;
|
||||||
}
|
}
|
||||||
|
@ -421,6 +469,7 @@ void test_process(void)
|
||||||
len = test_sensor_cmd(self_test.cmd_id, buf);
|
len = test_sensor_cmd(self_test.cmd_id, buf);
|
||||||
break;
|
break;
|
||||||
case TEST_DEV_MOTOR:
|
case TEST_DEV_MOTOR:
|
||||||
|
len = test_motor_cmd(self_test.cmd_id, buf);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -69,8 +69,10 @@ typedef enum
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
GET_TORSION_VALUE, // 扭力
|
GET_TORSION_VALUE, // 扭力
|
||||||
GET_PRESSURE_VALUE, // 压力
|
GET_INPUT_PRESS_VALUE, // 输入压力
|
||||||
GET_FLOW_VALUE, // 流量
|
GET_OUTPUT_PRESS_VALUE, // 输出压力
|
||||||
|
GET_INPUT_FLOW_VALUE, // 输入流量
|
||||||
|
GET_OUTPUT_FLOW_VALUE, // 输出流量
|
||||||
GET_ALL_VALUE, // 全部
|
GET_ALL_VALUE, // 全部
|
||||||
} sensor_cmd_e;
|
} sensor_cmd_e;
|
||||||
|
|
||||||
|
@ -117,12 +119,10 @@ typedef struct
|
||||||
extern uint16_t sensor_adc[GET_ALL_VALUE];
|
extern uint16_t sensor_adc[GET_ALL_VALUE];
|
||||||
|
|
||||||
extern void board_init(void);
|
extern void board_init(void);
|
||||||
extern uint16_t get_torsion_adc(void);
|
extern uint16_t get_sensor_adc(uint8_t id);
|
||||||
extern float32 torsion_detect(void);
|
extern float32 torsion_detect(void);
|
||||||
extern uint16_t get_pressure_adc(void);
|
extern float32 pressure_detect(uint8_t id);
|
||||||
extern float32 pressure_detect(void);
|
extern float32 flow_detect(uint8_t id);
|
||||||
extern uint16_t get_flow_adc(void);
|
|
||||||
extern float32 flow_detect(void);
|
|
||||||
extern void host_rx_msg_deal(void);
|
extern void host_rx_msg_deal(void);
|
||||||
extern void motor_process_init(void);
|
extern void motor_process_init(void);
|
||||||
extern void test_process(void);
|
extern void test_process(void);
|
||||||
|
|
|
@ -15,8 +15,8 @@ typedef struct MOTOR motor_t;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
DIR_CCW = 0, /* 逆时针旋转 */
|
DIR_CW = 0, /* 顺时针旋转 */
|
||||||
DIR_CW, /* 顺时针旋转 */
|
DIR_CCW, /* 逆时针旋转 */
|
||||||
} dir_e;
|
} dir_e;
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
|
30
motor.ioc
30
motor.ioc
|
@ -57,18 +57,20 @@ Mcu.Name=STM32L072R(B-Z)Tx
|
||||||
Mcu.Package=LQFP64
|
Mcu.Package=LQFP64
|
||||||
Mcu.Pin0=PH0-OSC_IN
|
Mcu.Pin0=PH0-OSC_IN
|
||||||
Mcu.Pin1=PH1-OSC_OUT
|
Mcu.Pin1=PH1-OSC_OUT
|
||||||
Mcu.Pin10=PA14
|
Mcu.Pin10=PA10
|
||||||
Mcu.Pin11=VP_SYS_VS_Systick
|
Mcu.Pin11=PA13
|
||||||
Mcu.Pin12=VP_TIM6_VS_ClockSourceINT
|
Mcu.Pin12=PA14
|
||||||
Mcu.Pin2=PC3
|
Mcu.Pin13=VP_SYS_VS_Systick
|
||||||
Mcu.Pin3=PB12
|
Mcu.Pin14=VP_TIM6_VS_ClockSourceINT
|
||||||
Mcu.Pin4=PB13
|
Mcu.Pin2=PC0
|
||||||
Mcu.Pin5=PB14
|
Mcu.Pin3=PC3
|
||||||
Mcu.Pin6=PB15
|
Mcu.Pin4=PB0
|
||||||
Mcu.Pin7=PA9
|
Mcu.Pin5=PB12
|
||||||
Mcu.Pin8=PA10
|
Mcu.Pin6=PB13
|
||||||
Mcu.Pin9=PA13
|
Mcu.Pin7=PB14
|
||||||
Mcu.PinsNb=13
|
Mcu.Pin8=PB15
|
||||||
|
Mcu.Pin9=PA9
|
||||||
|
Mcu.PinsNb=15
|
||||||
Mcu.ThirdPartyNb=0
|
Mcu.ThirdPartyNb=0
|
||||||
Mcu.UserConstants=
|
Mcu.UserConstants=
|
||||||
Mcu.UserName=STM32L072RBTx
|
Mcu.UserName=STM32L072RBTx
|
||||||
|
@ -93,6 +95,8 @@ PA14.Mode=Serial_Wire
|
||||||
PA14.Signal=SYS_SWCLK
|
PA14.Signal=SYS_SWCLK
|
||||||
PA9.Mode=Asynchronous
|
PA9.Mode=Asynchronous
|
||||||
PA9.Signal=USART1_TX
|
PA9.Signal=USART1_TX
|
||||||
|
PB0.Mode=IN8
|
||||||
|
PB0.Signal=ADC_IN8
|
||||||
PB12.GPIOParameters=GPIO_Speed,PinState,GPIO_Label
|
PB12.GPIOParameters=GPIO_Speed,PinState,GPIO_Label
|
||||||
PB12.GPIO_Label=ENA
|
PB12.GPIO_Label=ENA
|
||||||
PB12.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
PB12.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
@ -110,6 +114,8 @@ PB15.GPIOParameters=GPIO_PuPd,GPIO_Label
|
||||||
PB15.GPIO_Label=STOPPER
|
PB15.GPIO_Label=STOPPER
|
||||||
PB15.GPIO_PuPd=GPIO_PULLUP
|
PB15.GPIO_PuPd=GPIO_PULLUP
|
||||||
PB15.Signal=GPXTI15
|
PB15.Signal=GPXTI15
|
||||||
|
PC0.Mode=IN10
|
||||||
|
PC0.Signal=ADC_IN10
|
||||||
PC3.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_Mode
|
PC3.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_Mode
|
||||||
PC3.GPIO_Label=MG_ADC_IN13
|
PC3.GPIO_Label=MG_ADC_IN13
|
||||||
PC3.GPIO_Mode=GPIO_MODE_ANALOG
|
PC3.GPIO_Mode=GPIO_MODE_ANALOG
|
||||||
|
|
Reference in New Issue