已正常实验
This commit is contained in:
parent
68a835987f
commit
4fc6228ab9
@ -64,7 +64,7 @@
|
||||
#define configTICK_RATE_HZ ((TickType_t)1000)
|
||||
#define configMAX_PRIORITIES ( 56 )
|
||||
#define configMINIMAL_STACK_SIZE ((uint16_t)128)
|
||||
#define configTOTAL_HEAP_SIZE ((size_t)5120)
|
||||
#define configTOTAL_HEAP_SIZE ((size_t)7680)
|
||||
#define configMAX_TASK_NAME_LEN ( 16 )
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
|
||||
@ -4,22 +4,53 @@
|
||||
//extern void delay_us(uint32_t us);
|
||||
#include "stdlib.h"
|
||||
#include "math.h"
|
||||
#include "stdio.h"
|
||||
#include "string.h "
|
||||
//#include "MBM.H"
|
||||
|
||||
//#define DebugLog
|
||||
#ifdef DebugLog
|
||||
#define Debuglog(format, ...) \
|
||||
printf("[%s:%d->%s] " format"\r\n", __FILE__, __LINE__, __func__, ##__VA_ARGS__)
|
||||
#else
|
||||
#define Debuglog(format, ...)
|
||||
#endif
|
||||
#define VOFA
|
||||
#ifdef VOFA
|
||||
#define pfp(format, ...) \
|
||||
printf(format, ##__VA_ARGS__)
|
||||
#else
|
||||
#define pfp(info)
|
||||
#endif
|
||||
|
||||
#define Typestr(format, ...) \
|
||||
sprintf(StateString,format"/0", ##__VA_ARGS__ );
|
||||
|
||||
extern char StateString[40];
|
||||
|
||||
extern osSemaphoreId ArmRunFinish;
|
||||
extern osSemaphoreId SampleRunFinish;
|
||||
|
||||
extern void MAX6675_Init(void);
|
||||
extern void BIOS_GPIO_Init( void );
|
||||
extern void BIOS_TIM8_Init( void );
|
||||
extern void BIOS_TIM5_Init( void );
|
||||
extern void USARTHMIInit( void );
|
||||
|
||||
extern void TIM4_CH1_CTRL(uint16_t ARRValue, uint16_t CCRValue );
|
||||
extern void TIM4_CH1_CMD( _Bool CMD );
|
||||
extern void TIM4_CH1_DIR( _Bool CMD );
|
||||
extern void TIM4_IECMD( _Bool CMD );
|
||||
extern void TIM3_CH2_CTRL(uint16_t ARRValue, uint16_t CCRValue );
|
||||
extern void TIM3_CH2_CMD( _Bool CMD );
|
||||
extern void TIM3_CH2_DIR( _Bool CMD );
|
||||
extern void TIM3_CH1_CTRL(uint16_t ARRValue, uint16_t CCRValue );
|
||||
extern void TIM3_CH1_CMD( _Bool CMD );
|
||||
extern void TIM3_CH1_DIR( _Bool CMD );
|
||||
extern void TIM3_IECMD( _Bool CMD );
|
||||
|
||||
extern void TIM2_CH2_CTRL(uint16_t ARRValue, uint16_t CCRValue );
|
||||
extern void TIM2_CH2_CMD( _Bool CMD );
|
||||
extern void TIM2_CH2_DIR( _Bool CMD );
|
||||
extern void TIM2_IECMD( _Bool CMD );
|
||||
|
||||
extern void TIM5_CH3_CTRL(uint16_t ARRValue, uint16_t CCRValue );
|
||||
extern void TIM5_CH3_CMD( _Bool CMD );
|
||||
extern void TIM5_CH3_DIR( _Bool CMD );
|
||||
extern void TIM5_IECMD( _Bool CMD );
|
||||
|
||||
|
||||
enum enumPumpSelect
|
||||
@ -35,13 +66,24 @@ enum enumPumpSelect
|
||||
|
||||
};
|
||||
extern enum enumPumpSelect PumpSelect[pumpMax];
|
||||
extern volatile uint32_t PluseCount[7u]; //
|
||||
extern void MODBUS_Init( uint8_t MBAddress );
|
||||
|
||||
|
||||
extern float SpeedSet[pumpMax]; // 最高速度p/s
|
||||
extern int32_t CoordinateSet[pumpMax]; // Ä¿±êλÖÃ
|
||||
extern _Bool TaskisRunning[pumpMax]; // 防止重入标志
|
||||
extern _Bool IdelEn[pumpMax]; // 电机空闲使能
|
||||
|
||||
extern volatile uint32_t PluseCount[7u]; //
|
||||
extern int32_t CoordinatePosition[pumpMax]; // 实时更新实时位置
|
||||
|
||||
extern void SolidValve_H2SO4( uint8_t channel, _Bool state );
|
||||
extern void AirValve_Pump(_Bool state);
|
||||
extern void StandardValve_Pump( _Bool state);
|
||||
|
||||
extern void MotorZero_Init( enum enumPumpSelect Select);
|
||||
extern void MotorCTRLInitiate( void );
|
||||
extern _Bool FindZero[pumpMax];
|
||||
|
||||
extern float Temperature[6];
|
||||
#include "stdio.h"
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
#include "APPDEF.H"
|
||||
#include "stm32f10x.h"
|
||||
|
||||
|
||||
enum enumPumpSelect PumpSelect[pumpMax];
|
||||
@ -10,12 +11,14 @@ void Motor_IECMD( enum enumPumpSelect Select, _Bool CMD )
|
||||
switch( Select )
|
||||
{
|
||||
case M1:
|
||||
TIM4_IECMD( CMD );
|
||||
TIM5_IECMD( CMD );
|
||||
break;
|
||||
case M2:
|
||||
TIM3_IECMD( CMD );
|
||||
break;
|
||||
case M3:
|
||||
default:
|
||||
TIM2_IECMD( CMD );
|
||||
break;
|
||||
}
|
||||
|
||||
@ -31,11 +34,16 @@ void Motor_PWM( enum enumPumpSelect Select, uint16_t Value )
|
||||
{
|
||||
switch( Select )
|
||||
{
|
||||
|
||||
|
||||
case M1:
|
||||
TIM4_CH1_CTRL( Value, Value / 2 );
|
||||
TIM5_CH3_CTRL( Value, Value / 2 );
|
||||
break;
|
||||
case M2:
|
||||
TIM3_CH2_CTRL( Value, Value / 2 );
|
||||
TIM3_CH1_CTRL( Value, Value / 2 );
|
||||
break;
|
||||
case M3:
|
||||
TIM2_CH2_CTRL( Value, Value / 2 );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -50,10 +58,13 @@ void Motor_PWMCmd( enum enumPumpSelect Select, _Bool State )
|
||||
switch( Select )
|
||||
{
|
||||
case M1:
|
||||
TIM4_CH1_CMD( State );
|
||||
TIM5_CH3_CMD( State );
|
||||
break;
|
||||
case M2:
|
||||
TIM3_CH2_CMD( State );
|
||||
TIM3_CH1_CMD( State );
|
||||
break;
|
||||
case M3:
|
||||
TIM2_CH2_CMD( State );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -68,7 +79,23 @@ void Motor_Dir( enum enumPumpSelect Select, _Bool State )
|
||||
switch( Select )
|
||||
{
|
||||
case M1:
|
||||
// TIM4_CH1_DIR( State);
|
||||
if(State)
|
||||
SET_BIT( GPIOA->BSRR, GPIO_BSRR_BR3 );
|
||||
else
|
||||
SET_BIT( GPIOA->BSRR, GPIO_BSRR_BS3 );
|
||||
break;
|
||||
|
||||
case M2:
|
||||
if(State)
|
||||
SET_BIT( GPIOA->BSRR, GPIO_BSRR_BR5 );
|
||||
else
|
||||
SET_BIT( GPIOA->BSRR, GPIO_BSRR_BS5 );
|
||||
break;
|
||||
case M3:
|
||||
if(State)
|
||||
SET_BIT( GPIOA->BSRR, GPIO_BSRR_BS0 );
|
||||
else
|
||||
SET_BIT( GPIOA->BSRR, GPIO_BSRR_BR0 );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -102,27 +129,35 @@ void Motor_En( enum enumPumpSelect Select, _Bool State )
|
||||
/********************************** 功能说明 *************************************
|
||||
* 机械臂运行任务
|
||||
*********************************************************************************/
|
||||
//上电前需要修改的安全参数
|
||||
/*
|
||||
用于限制外部程序调用参数的极限值(超过此参数会无效或按极限值处理)
|
||||
*/
|
||||
const int32_t FullCoordinate[pumpMax] = { 20500u, 65000u,125000u }; // 最大行程限制
|
||||
const float ShiftPluse[pumpMax]={ 100.0f, 1500.0f, 1500.0f }; // 标准最大加速过程脉冲数限制
|
||||
const float VelocityH[pumpMax]={ 10000.0f, 5000.0f, 20000.0f }; // 最高速度限制p/s
|
||||
const float VelocityL[pumpMax]={ 10.0f, 1000.0f, 1000.0f }; // 最低速度限制p/s
|
||||
|
||||
const uint32_t FullCoordinate[pumpMax] = { 20500u, 65000u,65000u };
|
||||
|
||||
//外部程序调用所需修改参数
|
||||
float SpeedSet[pumpMax]={ 20.0f, 1000.0f, 20000.0f }; // 最高速度p/s
|
||||
int32_t CoordinateSet[pumpMax]; // 目标位置
|
||||
int32_t CoordinatePosition[pumpMax]; // 实时更新实时位置
|
||||
uint32_t Position[pumpMax]; // 本次运行起始位置
|
||||
_Bool TaskisRunning[pumpMax] = {0}; // 防止重入标志
|
||||
_Bool IdelEn[pumpMax] = { false,false,false}; // 电机空闲使能
|
||||
int32_t DCMotorSpeed[pumpMax]; // 直流电机速度
|
||||
|
||||
uint32_t CoordinateSetOld[pumpMax]; // 上次所在位置
|
||||
|
||||
// 程序运行时自动更新的参数
|
||||
int32_t CoordinatePosition[pumpMax]; // 实时更新实时位置
|
||||
int32_t Differ[pumpMax]; // 本次所需运行脉冲数
|
||||
float SpeedSet[pumpMax]={ 100.0f, 1000.0f, 5000.0f }; // 最高速度p/s
|
||||
uint32_t period[pumpMax] = { 20000u, 2000u, 2000u }; // PWM实时周期
|
||||
float Velocity[pumpMax] = { 0.0f, 20.0f, 20.0f }; // 实时速度
|
||||
uint32_t Shifting[pumpMax] = { 500u, 500u, 500u }; // 加速过程脉冲数
|
||||
uint32_t period[pumpMax] = { 20000u, 2000u, 2000u }; // PWM实时周期
|
||||
uint32_t CoordinateSetOld[pumpMax]; // 上次所在位置
|
||||
uint32_t Position[pumpMax]; // 本次运行起始位置
|
||||
float Speeda[pumpMax] ={ 10000.0f, 10000.0f, 10000.0f }; // 加速度 p/(s*s)
|
||||
float VelocityH[pumpMax]={ 10000.0f, 5000.0f, 5000.0f }; // 最高速度p/s
|
||||
float VelocityL[pumpMax]={ 10.0f, 1000.0f, 1000.0f }; // 最低速度p/s
|
||||
float ShiftPluse[pumpMax]={ 100.0f, 1500.0f, 1500.0f }; // 标准最大加速过程脉冲数
|
||||
float Velocity[pumpMax] = { 0.0f, 20.0f, 20.0f }; // 实时速度
|
||||
float VelocityMax[pumpMax] = { 10000.0f, 20.0f, 20.0f }; // 最大速度
|
||||
_Bool Direction[pumpMax] = { false,false,false}; // 运行方向
|
||||
|
||||
/******************************** 功能说明 *************************************
|
||||
* 速度加速度转换
|
||||
*******************************************************************************/
|
||||
@ -142,7 +177,10 @@ void SamplePumpSpeed_AcceleratedConver( enum enumPumpSelect Select, uint16_t Spe
|
||||
/******************************** 功能说明 *************************************
|
||||
*
|
||||
*******************************************************************************/
|
||||
|
||||
//osSemaphoreId ArmRunFinish;
|
||||
//osSemaphoreDef(ArmRunFinish);
|
||||
//osSemaphoreId SampleRunFinish;
|
||||
//osSemaphoreDef(SampleRunFinish);
|
||||
_Bool SpeedMode[pumpMax];
|
||||
_Bool PositionMode[pumpMax];
|
||||
_Bool FindZero[pumpMax];
|
||||
@ -236,6 +274,7 @@ void SamplePumpCtrl( enum enumPumpSelect Select )
|
||||
TaskisRunning[Select] = false; // 清除防重入标志
|
||||
CountOver[Select] = false; // 清除计数器溢出
|
||||
osDelay( 15u );
|
||||
// osSemaphoreRelease(SampleRunFinish);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -262,6 +301,7 @@ void ArmSoftCtrl( enum enumPumpSelect Select )
|
||||
)
|
||||
)
|
||||
{
|
||||
SamplePumpSpeed_AcceleratedConver(Select,SpeedSet[Select]);
|
||||
|
||||
TaskisRunning[Select] = true; // 置位 防重入标志
|
||||
|
||||
@ -327,9 +367,10 @@ void ArmSoftCtrl( enum enumPumpSelect Select )
|
||||
}
|
||||
|
||||
}
|
||||
else//if( PluseCount[Select] >= (abs(Differ) - Shifting[Select]) ) // 后Shifting[Select]脉冲减速
|
||||
else if( PluseCount[Select] >= (abs(Differ[Select]) - Shifting[Select]) ) // 后Shifting[Select]脉冲减速
|
||||
{
|
||||
|
||||
|
||||
Velocity[Select] = sqrt( 2* (abs(Differ[Select]) - (float)PluseCount[Select]) * (Speeda[Select] / 2u));
|
||||
if( VelocityMax[Select] < Velocity[Select] )
|
||||
VelocityMax[Select] = Velocity[Select];
|
||||
@ -340,6 +381,10 @@ void ArmSoftCtrl( enum enumPumpSelect Select )
|
||||
period[Select] = 1000000.0f / Velocity[Select];
|
||||
Motor_PWM( Select, period[Select] );
|
||||
}
|
||||
else
|
||||
{
|
||||
__NOP();
|
||||
}
|
||||
osDelay( 1u );
|
||||
|
||||
if( Differ[Select] >= 0 ) // 根据方向偏差来计算当前位置
|
||||
@ -366,6 +411,8 @@ void ArmSoftCtrl( enum enumPumpSelect Select )
|
||||
TaskisRunning[Select] = false; // 清除防重入标志
|
||||
CountOver[Select] = false; // 清除计数器溢出
|
||||
osDelay( 5u );
|
||||
// osSemaphoreRelease(ArmRunFinish);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -382,6 +429,8 @@ void MotorCtrl(enum enumPumpSelect Select)
|
||||
{
|
||||
// static _Bool SpeedModeOld[pumpMax];
|
||||
// static _Bool PositionModeOld[pumpMax];
|
||||
// ArmRunFinish = osSemaphoreNew( 1,0,NULL);
|
||||
// SampleRunFinish = osSemaphoreNew( 1,0,NULL);
|
||||
for(;;)
|
||||
{
|
||||
|
||||
@ -418,82 +467,7 @@ void MotorCtrl(enum enumPumpSelect Select)
|
||||
}
|
||||
|
||||
}
|
||||
#include "stm32f10x.h"
|
||||
|
||||
/******************************** 功能说明 *************************************
|
||||
* 中断端口初始化使能
|
||||
*******************************************************************************/
|
||||
void BIOS_EXTI_Init( void )
|
||||
{
|
||||
|
||||
// // 浮空输入模式
|
||||
|
||||
SET_BIT( RCC->APB2ENR, RCC_APB2ENR_IOPBEN );
|
||||
|
||||
GPIOB->BSRR |= 0x0002u; // 端口输出为1;
|
||||
// GPIOF->BSRR |= 0x3800u; // 端口输出为1;
|
||||
// GPIOE->BSRR |= 0x0040u; // 端口输出为1;
|
||||
// SET_BIT( GPIOC->PUPDR, GPIO_PUPDR_PUPD0_0|GPIO_PUPDR_PUPD1_0|GPIO_PUPDR_PUPD2_0|GPIO_PUPDR_PUPD3_0 ); // IO口配置 上拉
|
||||
// SET_BIT( GPIOF->PUPDR, GPIO_PUPDR_PUPD11_0|GPIO_PUPDR_PUPD12_0|GPIO_PUPDR_PUPD13_0 ); // IO口配置 上拉
|
||||
CLEAR_BIT( GPIOB->CRL, GPIO_CRL_CNF1_0 );
|
||||
SET_BIT( GPIOB->CRL, GPIO_CRL_CNF1_1 );
|
||||
SET_BIT( GPIOB->ODR, GPIO_ODR_ODR1 ); // IO口配置 上拉
|
||||
// MODIFY_REG( GPIOC->MODER, GPIO_MODER_MODE0, GPIO_MODER_MODE0_1 ); // IO口配置 复用输出
|
||||
// MODIFY_REG( GPIOC->MODER, GPIO_MODER_MODE1, GPIO_MODER_MODE1_1 ); // IO口配置 复用输出
|
||||
// MODIFY_REG( GPIOC->MODER, GPIO_MODER_MODE2, GPIO_MODER_MODE2_1 ); // IO口配置 复用输出
|
||||
// MODIFY_REG( GPIOC->MODER, GPIO_MODER_MODE3, GPIO_MODER_MODE3_1 ); // IO口配置 复用输出
|
||||
// MODIFY_REG( GPIOF->MODER, GPIO_MODER_MODE11, GPIO_MODER_MODE11_1 ); // IO口配置 复用输出
|
||||
// MODIFY_REG( GPIOF->MODER, GPIO_MODER_MODE12, GPIO_MODER_MODE12_1 ); // IO口配置 复用输出
|
||||
// MODIFY_REG( GPIOF->MODER, GPIO_MODER_MODE13, GPIO_MODER_MODE13_1 ); // IO口配置 复用输出
|
||||
|
||||
|
||||
// SET_BIT(RCC->APB2ENR, RCC_APB2ENR_SYSCFGEN);
|
||||
// // 开启中断复用
|
||||
// SYSCFG->EXTICR[0] =
|
||||
// SYSCFG_EXTICR1_EXTI1_PC
|
||||
// |SYSCFG_EXTICR1_EXTI1_PC
|
||||
// |SYSCFG_EXTICR1_EXTI2_PC
|
||||
// |SYSCFG_EXTICR1_EXTI3_PC
|
||||
;
|
||||
// SYSCFG->EXTICR[1] =
|
||||
// SYSCFG_EXTICR2_EXTI6_PF;
|
||||
// SYSCFG->EXTICR[2] =
|
||||
// SYSCFG_EXTICR3_EXTI11_PF;
|
||||
// SYSCFG->EXTICR[3] =
|
||||
// SYSCFG_EXTICR4_EXTI12_PF
|
||||
// |SYSCFG_EXTICR4_EXTI13_PF
|
||||
// ;
|
||||
SET_BIT( RCC->APB2ENR, RCC_APB2ENR_AFIOEN );
|
||||
|
||||
AFIO->EXTICR[0] = AFIO_EXTICR1_EXTI1_PB
|
||||
// | AFIO_EXTICR1_EXTI1_PB
|
||||
// | AFIO_EXTICR1_EXTI2_PA
|
||||
// | AFIO_EXTICR1_EXTI3_PA
|
||||
// ;
|
||||
// AFIO->EXTICR[1] = AFIO_EXTICR2_EXTI4_PA
|
||||
// | AFIO_EXTICR2_EXTI5_PA
|
||||
// | AFIO_EXTICR2_EXTI6_PA
|
||||
// | AFIO_EXTICR2_EXTI7_PA
|
||||
;
|
||||
|
||||
|
||||
CLEAR_BIT( EXTI->IMR, 0xFFFFu ); // 禁止中断
|
||||
|
||||
CLEAR_BIT( EXTI->EMR, 0xFFFFu ); // no event 无中断事件
|
||||
// SET_BIT ( EXTI->RTSR, 0x0006u ); // rising edge trigger 上升沿触发
|
||||
SET_BIT ( EXTI->FTSR, 0x0002u ); // falling edge trigger 下降沿触发
|
||||
WRITE_REG( EXTI->PR, 0xFFFFu ); // 通过写1能复位触发的中断标志
|
||||
|
||||
// SET_BIT ( EXTI->IMR, 0x384Fu ); // 允许中断
|
||||
// // IO中断
|
||||
// NVIC_EnableIRQ( EXTI0_IRQn );
|
||||
NVIC_EnableIRQ( EXTI1_IRQn );
|
||||
// NVIC_EnableIRQ( EXTI2_IRQn );
|
||||
// NVIC_EnableIRQ( EXTI3_IRQn );
|
||||
// NVIC_EnableIRQ( EXTI9_5_IRQn );
|
||||
// NVIC_EnableIRQ( EXTI15_10_IRQn );
|
||||
|
||||
}
|
||||
|
||||
/********************************** 功能说明 ***********************************
|
||||
* 中断开关控制
|
||||
@ -515,31 +489,32 @@ void EXTIx_IRQ_Disable( uint8_t EXTIx )
|
||||
|
||||
|
||||
uint16_t iz = 0;
|
||||
void EXTI1_IRQHandler( void )
|
||||
//void EXTI0_IRQHandler( void )
|
||||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||
{
|
||||
iz++;
|
||||
SET_BIT( EXTI->PR, 0x01u << 1 ); // 写1复位中断标志位
|
||||
if(ArmInitIsRuning[M1] )
|
||||
if(ArmInitIsRuning[M3] )
|
||||
{
|
||||
if( !READ_BIT( GPIOB->IDR, GPIO_Pin_1 ) )
|
||||
if( !READ_BIT( GPIOC->IDR, GPIO_IDR_IDR0 ) )
|
||||
{
|
||||
EXTIx_IRQ_Disable( 1 );
|
||||
Motor_PWMCmd(M1, false );
|
||||
CoordinateSet[M1] = 0u;
|
||||
CoordinatePosition[M1] = 0;
|
||||
EXTIx_IRQ_Disable( 0 );
|
||||
Motor_PWMCmd(M3, false );
|
||||
CoordinateSet[M3] = 0u;
|
||||
CoordinatePosition[M3] = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( READ_BIT( GPIOB->IDR, GPIO_Pin_1 ) )
|
||||
if( READ_BIT( GPIOC->IDR, GPIO_IDR_IDR0 ) )
|
||||
{
|
||||
EXTIx_IRQ_Disable( 1 );
|
||||
EXTIx_IRQ_Disable( 0 );
|
||||
osDelay(400);
|
||||
Motor_PWMCmd(M1, false );
|
||||
if(CoordinateSet[M1] >0)
|
||||
CoordinatePosition[M1] = 1;
|
||||
Motor_PWMCmd(M3, false );
|
||||
if(CoordinateSet[M3] >0)
|
||||
CoordinatePosition[M3] = 1;
|
||||
else
|
||||
CoordinatePosition[M1] = -1;
|
||||
CoordinatePosition[M3] = -1;
|
||||
|
||||
CoordinateSet[M1] = 0u;
|
||||
}
|
||||
@ -553,8 +528,8 @@ _Bool Exti_IOStateRead( enum enumPumpSelect Select )
|
||||
_Bool state = false;
|
||||
switch (Select)
|
||||
{
|
||||
case M1:
|
||||
state = READ_BIT( GPIOB->IDR, GPIO_IDR_IDR1);
|
||||
case M3:
|
||||
state = READ_BIT( GPIOC->IDR, GPIO_IDR_IDR0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -565,8 +540,8 @@ void Exti_IRQ_Ctrl( enum enumPumpSelect Select, _Bool State )
|
||||
{
|
||||
switch (Select)
|
||||
{
|
||||
case M1:
|
||||
State? EXTIx_IRQ_Enable(1) : EXTIx_IRQ_Disable(1);
|
||||
case M3:
|
||||
State? EXTIx_IRQ_Enable(0) : EXTIx_IRQ_Disable(0);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -575,7 +550,6 @@ void Exti_IRQ_Ctrl( enum enumPumpSelect Select, _Bool State )
|
||||
}
|
||||
void MotorZero_Init( enum enumPumpSelect Select)
|
||||
{
|
||||
SET_BIT( GPIOA->BSRR, GPIO_BSRR_BS5 );
|
||||
FindedZero[Select] =false;
|
||||
EXTIx_IRQ_Disable(0);
|
||||
Motor_PWMCmd( Select, false );
|
||||
@ -585,7 +559,9 @@ void MotorZero_Init( enum enumPumpSelect Select)
|
||||
Motor_Dir( Select, true );
|
||||
osDelay(10u);
|
||||
Motor_IECMD( Select, false );
|
||||
DCMotor_PWM( Select, 55 );
|
||||
Motor_PWM( Select, 200 );
|
||||
|
||||
// DCMotor_PWM( Select, 55 );
|
||||
if( !Exti_IOStateRead(Select) )
|
||||
{
|
||||
Motor_Dir( Select, false );
|
||||
@ -612,11 +588,10 @@ void MotorZero_Init( enum enumPumpSelect Select)
|
||||
Direction[Select] = false;
|
||||
FindedZero[Select] =true;
|
||||
// RegCoilsBufRst( (22u+Select*3u) );
|
||||
usRegHoldingBuf[43] = 0;
|
||||
/*usRegHoldingBuf[43] = 0;
|
||||
usRegInputBuf[43] = 2;
|
||||
usRegHoldingBuf[7] = CoordinateSet[Select] = 0;
|
||||
usRegHoldingBuf[7] =*/ CoordinateSet[Select] = 0;
|
||||
ArmInitIsRuning[Select] = FindZero[Select] = false;
|
||||
SET_BIT( GPIOA->BSRR, GPIO_BSRR_BR5 );
|
||||
}
|
||||
|
||||
|
||||
@ -633,25 +608,26 @@ osThreadId_t MName[pumpMax];
|
||||
TaskHandle_t xTaskHandles[pumpMax];
|
||||
void MotorCTRLInitiate( void )
|
||||
{
|
||||
SamplePumpSpeed_AcceleratedConver(M1,100);
|
||||
SamplePumpSpeed_AcceleratedConver(M2,1000);
|
||||
SamplePumpSpeed_AcceleratedConver(M3,100);
|
||||
SamplePumpSpeed_AcceleratedConver(M1,20); //中和泵
|
||||
SamplePumpSpeed_AcceleratedConver(M2,1000); // 萃取泵
|
||||
SamplePumpSpeed_AcceleratedConver(M3,20000); // 转盘电机
|
||||
|
||||
|
||||
temp1 = xTaskCreate(_task_MotorCTRL, // 任务函数
|
||||
"TaskName1", // 任务名(用于调试)
|
||||
512, // 堆栈大小(以堆栈类型的大小为单位)
|
||||
256, // 堆栈大小(以堆栈类型的大小为单位)
|
||||
(void *)M1, // 传递给任务的参数
|
||||
osPriorityNormal, // 任务优先级(根据需要调整)
|
||||
&xTaskHandles[M1]); // 任务句柄的地址(用于引用)
|
||||
temp2 = xTaskCreate(_task_MotorCTRL, // 任务函数
|
||||
"TaskName2", // 任务名(用于调试)
|
||||
512, // 堆栈大小(以堆栈类型的大小为单位)
|
||||
256, // 堆栈大小(以堆栈类型的大小为单位)
|
||||
(void *)M2, // 传递给任务的参数
|
||||
osPriorityNormal, // 任务优先级(根据需要调整)
|
||||
&xTaskHandles[M2]); // 任务句柄的地址(用于引用)
|
||||
temp3 = xTaskCreate(_task_MotorCTRL, // 任务函数
|
||||
"TaskName3", // 任务名(用于调试)
|
||||
512, // 堆栈大小(以堆栈类型的大小为单位)
|
||||
256, // 堆栈大小(以堆栈类型的大小为单位)
|
||||
(void *)M3, // 传递给任务的参数
|
||||
osPriorityNormal, // 任务优先级(根据需要调整)
|
||||
&xTaskHandles[M3]); // 任务句柄的地址(用于引用)
|
||||
|
||||
143
Core/Src/TIM.c
143
Core/Src/TIM.c
@ -3,84 +3,54 @@
|
||||
#include "stm32f10x.h"
|
||||
#include "cmsis_os.h"
|
||||
|
||||
///******************************** 功能说明 *************************************
|
||||
//* TIM4
|
||||
//*******************************************************************************/
|
||||
//void BIOS_TIM4_Init( void )
|
||||
//{
|
||||
// SET_BIT( RCC->APB2ENR, RCC_APB2ENR_IOPDEN );
|
||||
// MODIFY_REG( GPIOD->CRH, 0x0FF00000u, 0x0B300000u ); // IO口配置 PWM_OUT
|
||||
// GPIO_PinRemapConfig(GPIO_Remap_TIM4, ENABLE);
|
||||
// SET_BIT( RCC->APB1ENR, RCC_APB1ENR_TIM4EN ); // 打开时钟
|
||||
// SET_BIT( RCC->APB1ENR, RCC_APB2ENR_AFIOEN ); // 打开复用时钟
|
||||
// SET_BIT( TIM4->EGR, TIM_EGR_UG ); // 初始化所有寄存器
|
||||
// TIM4->CR1 = TIM_CR1_ARPE| TIM_CR1_URS; // 自动装载 溢出中断
|
||||
// TIM4->PSC = SystemCoreClock / 1000000u - 1u; // 设置预分频值
|
||||
// TIM4->ARR = 100u - 1; // 设置预装载值
|
||||
// TIM4->CCMR2 = TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2 | TIM_CCMR2_OC3PE; // 设置计数极性和工作模式
|
||||
//// TIM4->CCER = TIM_CCER_CC3E; // 使能通道
|
||||
|
||||
// TIM4->CCR3 = 100/2u; // 设置翻转值
|
||||
// NVIC_EnableIRQ(TIM4_IRQn);
|
||||
// SET_BIT( TIM4->CR1, TIM_CR1_CEN ); // 使能计数器
|
||||
//}
|
||||
/******************************** 功能说明 *************************************
|
||||
* TIM4->CH3 控制
|
||||
* TIM5->CH3 控制
|
||||
*******************************************************************************/
|
||||
|
||||
void TIM4_CH1_CTRL(uint16_t ARRValue, uint16_t CCRValue )
|
||||
void TIM5_CH3_CTRL(uint16_t ARRValue, uint16_t CCRValue )
|
||||
{
|
||||
TIM4->ARR = ARRValue; // 设置预装载
|
||||
TIM4->CCR1 = CCRValue; // 设置翻转值
|
||||
TIM5->ARR = ARRValue; // 设置预装载
|
||||
TIM5->CCR3 = CCRValue; // 设置翻转值
|
||||
}
|
||||
|
||||
/******************************** 功能说明 *************************************
|
||||
* TIM4->CH3 PWM开关
|
||||
* TIM5->CH3 PWM开关
|
||||
*******************************************************************************/
|
||||
|
||||
void TIM4_CH1_CMD( _Bool CMD )
|
||||
void TIM5_CH3_CMD( _Bool CMD )
|
||||
{
|
||||
if( CMD )
|
||||
{
|
||||
SET_BIT( TIM4->CR1,TIM_CR1_CEN );
|
||||
SET_BIT( TIM4->CCER,TIM_CCER_CC1E );
|
||||
SET_BIT( TIM5->CR1,TIM_CR1_CEN );
|
||||
SET_BIT( TIM5->CCER,TIM_CCER_CC3E );
|
||||
}
|
||||
else
|
||||
{
|
||||
CLEAR_BIT( TIM4->CCER,TIM_CCER_CC1E );
|
||||
CLEAR_BIT( TIM4->CR1,TIM_CR1_CEN );
|
||||
CLEAR_BIT( TIM5->CCER,TIM_CCER_CC3E );
|
||||
CLEAR_BIT( TIM5->CR1,TIM_CR1_CEN );
|
||||
}
|
||||
}
|
||||
/******************************** 功能说明 *************************************
|
||||
* DIR
|
||||
*******************************************************************************/
|
||||
|
||||
//void TIM4_CH1_DIR( _Bool CMD )
|
||||
//{
|
||||
// if( CMD )
|
||||
// {
|
||||
// GPIO_SetBits( GPIOD, GPIO_ODR_ODR13 );
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// GPIO_ResetBits( GPIOD, GPIO_ODR_ODR13 );
|
||||
// }
|
||||
//}
|
||||
|
||||
/******************************** 功能说明 *************************************
|
||||
*
|
||||
*******************************************************************************/
|
||||
void TIM4_IECMD( _Bool CMD )
|
||||
void TIM5_IECMD( _Bool CMD )
|
||||
{
|
||||
if( CMD )
|
||||
{
|
||||
SET_BIT(TIM4->DIER, TIM_DIER_CC1IE); // 使能中断
|
||||
CLEAR_BIT( TIM4->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // 清除中断标记
|
||||
SET_BIT(TIM5->DIER, TIM_DIER_CC3IE); // 使能中断
|
||||
CLEAR_BIT( TIM5->SR, TIM_SR_UIF | TIM_SR_CC3IF ); // 清除中断标记
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
CLEAR_BIT(TIM4->DIER,TIM_DIER_CC1IE); // 失能中断
|
||||
CLEAR_BIT( TIM4->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // 清除中断标记
|
||||
CLEAR_BIT(TIM5->DIER,TIM_DIER_CC3IE); // 失能中断
|
||||
CLEAR_BIT( TIM5->SR, TIM_SR_UIF | TIM_SR_CC3IF ); // 清除中断标记
|
||||
}
|
||||
}
|
||||
|
||||
@ -91,29 +61,29 @@ void TIM4_IECMD( _Bool CMD )
|
||||
|
||||
|
||||
/******************************** 功能说明 *************************************
|
||||
* TIM3->CH2 控制
|
||||
* TIM3->CH1 控制
|
||||
*******************************************************************************/
|
||||
|
||||
void TIM3_CH2_CTRL(uint16_t ARRValue, uint16_t CCRValue )
|
||||
void TIM3_CH1_CTRL(uint16_t ARRValue, uint16_t CCRValue )
|
||||
{
|
||||
TIM3->ARR = ARRValue; // 设置预装载
|
||||
TIM3->CCR2 = CCRValue; // 设置翻转值
|
||||
TIM3->CCR1 = CCRValue; // 设置翻转值
|
||||
}
|
||||
|
||||
/******************************** 功能说明 *************************************
|
||||
* TIM4->CH3 PWM开关
|
||||
* TIM3->CH1 PWM开关
|
||||
*******************************************************************************/
|
||||
|
||||
void TIM3_CH2_CMD( _Bool CMD )
|
||||
void TIM3_CH1_CMD( _Bool CMD )
|
||||
{
|
||||
if( CMD )
|
||||
{
|
||||
SET_BIT( TIM3->CR1,TIM_CR1_CEN );
|
||||
SET_BIT( TIM3->CCER,TIM_CCER_CC2E );
|
||||
SET_BIT( TIM3->CCER,TIM_CCER_CC1E );
|
||||
}
|
||||
else
|
||||
{
|
||||
CLEAR_BIT( TIM3->CCER,TIM_CCER_CC2E );
|
||||
CLEAR_BIT( TIM3->CCER,TIM_CCER_CC1E );
|
||||
CLEAR_BIT( TIM3->CR1, TIM_CR1_CEN );
|
||||
}
|
||||
}
|
||||
@ -139,13 +109,74 @@ void TIM3_IECMD( _Bool CMD )
|
||||
{
|
||||
if( CMD )
|
||||
{
|
||||
SET_BIT(TIM3->DIER, TIM_DIER_CC2IE); // 使能中断
|
||||
CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // 清除中断标记
|
||||
SET_BIT(TIM3->DIER, TIM_DIER_CC1IE); // 使能中断
|
||||
CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // 清除中断标记
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
CLEAR_BIT(TIM3->DIER,TIM_DIER_CC1IE); // 失能中断
|
||||
CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // 清除中断标记
|
||||
CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // 清除中断标记
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/******************************** 功能说明 *************************************
|
||||
* TIM2->CH2 控制
|
||||
*******************************************************************************/
|
||||
|
||||
void TIM2_CH2_CTRL(uint16_t ARRValue, uint16_t CCRValue )
|
||||
{
|
||||
TIM2->ARR = ARRValue; // 设置预装载
|
||||
TIM2->CCR2 = CCRValue; // 设置翻转值
|
||||
}
|
||||
|
||||
/******************************** 功能说明 *************************************
|
||||
* TIM2->CH2 PWM开关
|
||||
*******************************************************************************/
|
||||
|
||||
void TIM2_CH2_CMD( _Bool CMD )
|
||||
{
|
||||
if( CMD )
|
||||
{
|
||||
SET_BIT( TIM2->CR1,TIM_CR1_CEN );
|
||||
SET_BIT( TIM2->CCER,TIM_CCER_CC2E );
|
||||
}
|
||||
else
|
||||
{
|
||||
CLEAR_BIT( TIM2->CCER,TIM_CCER_CC2E );
|
||||
CLEAR_BIT( TIM2->CR1, TIM_CR1_CEN );
|
||||
}
|
||||
}
|
||||
/******************************** 功能说明 *************************************
|
||||
* DIR
|
||||
*******************************************************************************/
|
||||
|
||||
//void TIM4_CH1_DIR( _Bool CMD )
|
||||
//{
|
||||
// if( CMD )
|
||||
// {
|
||||
// GPIO_SetBits( GPIOD, GPIO_ODR_ODR13 );
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// GPIO_ResetBits( GPIOD, GPIO_ODR_ODR13 );
|
||||
// }
|
||||
//}
|
||||
/******************************** 功能说明 *************************************
|
||||
*
|
||||
*******************************************************************************/
|
||||
void TIM2_IECMD( _Bool CMD )
|
||||
{
|
||||
if( CMD )
|
||||
{
|
||||
SET_BIT(TIM2->DIER, TIM_DIER_CC2IE); // 使能中断
|
||||
CLEAR_BIT( TIM2->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // 清除中断标记
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
CLEAR_BIT(TIM2->DIER,TIM_DIER_CC2IE); // 失能中断
|
||||
CLEAR_BIT( TIM2->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // 清除中断标记
|
||||
}
|
||||
}
|
||||
|
||||
526
Core/Src/main.c
526
Core/Src/main.c
@ -44,14 +44,19 @@
|
||||
ADC_HandleTypeDef hadc1;
|
||||
DMA_HandleTypeDef hdma_adc1;
|
||||
|
||||
TIM_HandleTypeDef htim2;
|
||||
TIM_HandleTypeDef htim3;
|
||||
TIM_HandleTypeDef htim4;
|
||||
TIM_HandleTypeDef htim5;
|
||||
TIM_HandleTypeDef htim8;
|
||||
|
||||
UART_HandleTypeDef huart1;
|
||||
UART_HandleTypeDef huart3;
|
||||
|
||||
/* Definitions for defaultTask */
|
||||
osThreadId_t defaultTaskHandle;
|
||||
const osThreadAttr_t defaultTask_attributes = {
|
||||
.name = "defaultTask",
|
||||
.stack_size = 128 * 4,
|
||||
.stack_size = 128 * 6,
|
||||
.priority = (osPriority_t) osPriorityNormal,
|
||||
};
|
||||
/* USER CODE BEGIN PV */
|
||||
@ -64,7 +69,11 @@ static void MX_GPIO_Init(void);
|
||||
static void MX_DMA_Init(void);
|
||||
static void MX_ADC1_Init(void);
|
||||
static void MX_TIM3_Init(void);
|
||||
static void MX_TIM4_Init(void);
|
||||
static void MX_TIM2_Init(void);
|
||||
static void MX_TIM5_Init(void);
|
||||
static void MX_TIM8_Init(void);
|
||||
static void MX_USART1_UART_Init(void);
|
||||
static void MX_USART3_UART_Init(void);
|
||||
void StartDefaultTask(void *argument);
|
||||
|
||||
/* USER CODE BEGIN PFP */
|
||||
@ -73,8 +82,28 @@ void StartDefaultTask(void *argument);
|
||||
|
||||
/* Private user code ---------------------------------------------------------*/
|
||||
/* USER CODE BEGIN 0 */
|
||||
uint32_t step = 100;
|
||||
uint32_t ADCDataBuf[10];
|
||||
/**
|
||||
***********************************************************
|
||||
* @brief printf函数默认打印输出到显示器,如果要输出到串口,
|
||||
必须重新实现fputc函数,将输出指向串口,称为重定向
|
||||
* @param
|
||||
* @return
|
||||
***********************************************************
|
||||
*/
|
||||
|
||||
int fputc(int ch, FILE *f)
|
||||
{
|
||||
HAL_UART_Transmit(&huart3,(uint8_t *)&ch,1,0xFFFF);
|
||||
return ch;
|
||||
}
|
||||
|
||||
char StateString[40];
|
||||
|
||||
extern uint32_t ADCDataBuf[10];
|
||||
void StirrerCtrl( uint16_t CCRV )
|
||||
{
|
||||
__HAL_TIM_SetCompare(&htim8,TIM_CHANNEL_1,CCRV);
|
||||
}
|
||||
/* USER CODE END 0 */
|
||||
|
||||
/**
|
||||
@ -85,8 +114,6 @@ int main(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
||||
/* MCU Configuration--------------------------------------------------------*/
|
||||
@ -110,9 +137,14 @@ int main(void)
|
||||
MX_DMA_Init();
|
||||
MX_ADC1_Init();
|
||||
MX_TIM3_Init();
|
||||
MX_TIM4_Init();
|
||||
MX_TIM2_Init();
|
||||
MX_TIM5_Init();
|
||||
MX_TIM8_Init();
|
||||
MX_USART1_UART_Init();
|
||||
MX_USART3_UART_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
__HAL_TIM_SetCompare(&htim8,TIM_CHANNEL_1,0);
|
||||
HAL_TIM_PWM_Start( &htim8, TIM_CHANNEL_1);
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Init scheduler */
|
||||
@ -229,12 +261,12 @@ static void MX_ADC1_Init(void)
|
||||
/** Common config
|
||||
*/
|
||||
hadc1.Instance = ADC1;
|
||||
hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
|
||||
hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
|
||||
hadc1.Init.ContinuousConvMode = ENABLE;
|
||||
hadc1.Init.DiscontinuousConvMode = DISABLE;
|
||||
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
|
||||
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
|
||||
hadc1.Init.NbrOfConversion = 1;
|
||||
hadc1.Init.NbrOfConversion = 16;
|
||||
if (HAL_ADC_Init(&hadc1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
@ -242,19 +274,199 @@ static void MX_ADC1_Init(void)
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Channel = ADC_CHANNEL_0;
|
||||
sConfig.Channel = ADC_CHANNEL_8;
|
||||
sConfig.Rank = ADC_REGULAR_RANK_1;
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_239CYCLES_5;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_2;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_3;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_4;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_5;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_6;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_7;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_8;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Channel = ADC_CHANNEL_9;
|
||||
sConfig.Rank = ADC_REGULAR_RANK_9;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_10;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_11;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_12;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_13;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_14;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_15;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/** Configure Regular Channel
|
||||
*/
|
||||
sConfig.Rank = ADC_REGULAR_RANK_16;
|
||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN ADC1_Init 2 */
|
||||
|
||||
/* USER CODE END ADC1_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM2 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_TIM2_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN TIM2_Init 0 */
|
||||
|
||||
/* USER CODE END TIM2_Init 0 */
|
||||
|
||||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||||
|
||||
/* USER CODE BEGIN TIM2_Init 1 */
|
||||
|
||||
/* USER CODE END TIM2_Init 1 */
|
||||
htim2.Instance = TIM2;
|
||||
htim2.Init.Prescaler = 72;
|
||||
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim2.Init.Period = 999;
|
||||
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
|
||||
if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||||
if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_Init(&htim2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
|
||||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||||
if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||||
sConfigOC.Pulse = 499;
|
||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN TIM2_Init 2 */
|
||||
|
||||
/* USER CODE END TIM2_Init 2 */
|
||||
HAL_TIM_MspPostInit(&htim2);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM3 Initialization Function
|
||||
* @param None
|
||||
@ -303,7 +515,7 @@ static void MX_TIM3_Init(void)
|
||||
sConfigOC.Pulse = 499;
|
||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
@ -315,46 +527,36 @@ static void MX_TIM3_Init(void)
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM4 Initialization Function
|
||||
* @brief TIM5 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_TIM4_Init(void)
|
||||
static void MX_TIM5_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN TIM4_Init 0 */
|
||||
/* USER CODE BEGIN TIM5_Init 0 */
|
||||
|
||||
/* USER CODE END TIM4_Init 0 */
|
||||
/* USER CODE END TIM5_Init 0 */
|
||||
|
||||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||||
|
||||
/* USER CODE BEGIN TIM4_Init 1 */
|
||||
/* USER CODE BEGIN TIM5_Init 1 */
|
||||
|
||||
/* USER CODE END TIM4_Init 1 */
|
||||
htim4.Instance = TIM4;
|
||||
htim4.Init.Prescaler = 72;
|
||||
htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim4.Init.Period = 999;
|
||||
htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
|
||||
if (HAL_TIM_Base_Init(&htim4) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||||
if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_Init(&htim4) != HAL_OK)
|
||||
/* USER CODE END TIM5_Init 1 */
|
||||
htim5.Instance = TIM5;
|
||||
htim5.Init.Prescaler = 72;
|
||||
htim5.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim5.Init.Period = 999;
|
||||
htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
|
||||
if (HAL_TIM_PWM_Init(&htim5) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
|
||||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||||
if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)
|
||||
if (HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
@ -362,14 +564,155 @@ static void MX_TIM4_Init(void)
|
||||
sConfigOC.Pulse = 499;
|
||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim5, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN TIM4_Init 2 */
|
||||
/* USER CODE BEGIN TIM5_Init 2 */
|
||||
|
||||
/* USER CODE END TIM4_Init 2 */
|
||||
HAL_TIM_MspPostInit(&htim4);
|
||||
/* USER CODE END TIM5_Init 2 */
|
||||
HAL_TIM_MspPostInit(&htim5);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM8 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_TIM8_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN TIM8_Init 0 */
|
||||
|
||||
/* USER CODE END TIM8_Init 0 */
|
||||
|
||||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||||
TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};
|
||||
|
||||
/* USER CODE BEGIN TIM8_Init 1 */
|
||||
|
||||
/* USER CODE END TIM8_Init 1 */
|
||||
htim8.Instance = TIM8;
|
||||
htim8.Init.Prescaler = 72;
|
||||
htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim8.Init.Period = 999;
|
||||
htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim8.Init.RepetitionCounter = 0;
|
||||
htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
|
||||
if (HAL_TIM_Base_Init(&htim8) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||||
if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
if (HAL_TIM_PWM_Init(&htim8) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
|
||||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||||
if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||||
sConfigOC.Pulse = 0;
|
||||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
|
||||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||||
sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
|
||||
sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
|
||||
if (HAL_TIM_PWM_ConfigChannel(&htim8, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
|
||||
sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
|
||||
sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
|
||||
sBreakDeadTimeConfig.DeadTime = 0;
|
||||
sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
|
||||
sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
|
||||
sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
|
||||
if (HAL_TIMEx_ConfigBreakDeadTime(&htim8, &sBreakDeadTimeConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN TIM8_Init 2 */
|
||||
|
||||
/* USER CODE END TIM8_Init 2 */
|
||||
HAL_TIM_MspPostInit(&htim8);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief USART1 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_USART1_UART_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN USART1_Init 0 */
|
||||
|
||||
/* USER CODE END USART1_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN USART1_Init 1 */
|
||||
|
||||
/* USER CODE END USART1_Init 1 */
|
||||
huart1.Instance = USART1;
|
||||
huart1.Init.BaudRate = 115200;
|
||||
huart1.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart1.Init.StopBits = UART_STOPBITS_1;
|
||||
huart1.Init.Parity = UART_PARITY_NONE;
|
||||
huart1.Init.Mode = UART_MODE_TX_RX;
|
||||
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart1.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
if (HAL_UART_Init(&huart1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN USART1_Init 2 */
|
||||
|
||||
/* USER CODE END USART1_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief USART3 Initialization Function
|
||||
* @param None
|
||||
* @retval None
|
||||
*/
|
||||
static void MX_USART3_UART_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN USART3_Init 0 */
|
||||
|
||||
/* USER CODE END USART3_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN USART3_Init 1 */
|
||||
|
||||
/* USER CODE END USART3_Init 1 */
|
||||
huart3.Instance = USART3;
|
||||
huart3.Init.BaudRate = 115200;
|
||||
huart3.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart3.Init.StopBits = UART_STOPBITS_1;
|
||||
huart3.Init.Parity = UART_PARITY_NONE;
|
||||
huart3.Init.Mode = UART_MODE_TX;
|
||||
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart3.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
if (HAL_UART_Init(&huart3) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN USART3_Init 2 */
|
||||
|
||||
/* USER CODE END USART3_Init 2 */
|
||||
|
||||
}
|
||||
|
||||
@ -396,30 +739,73 @@ static void MX_DMA_Init(void)
|
||||
*/
|
||||
static void MX_GPIO_Init(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
/* USER CODE BEGIN MX_GPIO_Init_1 */
|
||||
|
||||
/* USER CODE END MX_GPIO_Init_1 */
|
||||
|
||||
/* GPIO Ports Clock Enable */
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0|GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_7
|
||||
|GPIO_PIN_8, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4|GPIO_PIN_5, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin : PC0 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PC1 PC2 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PA0 PA3 PA5 PA7
|
||||
PA8 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_3|GPIO_PIN_5|GPIO_PIN_7
|
||||
|GPIO_PIN_8;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PC4 PC5 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PB10 PB11 PB12 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/* EXTI interrupt init*/
|
||||
HAL_NVIC_SetPriority(EXTI0_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI0_IRQn);
|
||||
|
||||
/* USER CODE BEGIN MX_GPIO_Init_2 */
|
||||
|
||||
/* USER CODE END MX_GPIO_Init_2 */
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 4 */
|
||||
float ADCData;
|
||||
float slope1,slope2;
|
||||
float SetmL,UseuL;
|
||||
_Bool CuiQuFlag = false;
|
||||
_Bool ZhongHeFlag = false;
|
||||
|
||||
|
||||
|
||||
|
||||
extern void YouSuanRun( void );
|
||||
|
||||
/* USER CODE END 4 */
|
||||
|
||||
@ -434,47 +820,11 @@ void StartDefaultTask(void *argument)
|
||||
{
|
||||
/* USER CODE BEGIN 5 */
|
||||
/* Infinite loop */
|
||||
// HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1);
|
||||
// HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2);
|
||||
MotorCTRLInitiate();
|
||||
HAL_ADCEx_Calibration_Start(&hadc1);
|
||||
HAL_ADC_Start_DMA( &hadc1,ADCDataBuf,20);
|
||||
slope1 = 82700;
|
||||
slope2 = 0.01166;
|
||||
for(;;)
|
||||
{
|
||||
osDelay(500);
|
||||
if(ZhongHeFlag)
|
||||
{
|
||||
CoordinateSet[0] = 6550000;
|
||||
UseuL = PluseCount[0] * slope2;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoordinateSet[0] = 0;
|
||||
}
|
||||
if(CuiQuFlag)
|
||||
{
|
||||
HAL_ADC_Start_DMA( &hadc1,ADCDataBuf,16);
|
||||
|
||||
CoordinateSet[1] = SetmL *slope1;
|
||||
CuiQuFlag = false;
|
||||
}
|
||||
YouSuanRun();
|
||||
|
||||
ADCData = (
|
||||
(ADCDataBuf[0] >> 16) + (uint16_t)ADCDataBuf[0] +
|
||||
(ADCDataBuf[1] >> 16) + (uint16_t)ADCDataBuf[1] +
|
||||
(ADCDataBuf[2] >> 16) + (uint16_t)ADCDataBuf[2] +
|
||||
(ADCDataBuf[3] >> 16) + (uint16_t)ADCDataBuf[3] +
|
||||
(ADCDataBuf[4] >> 16) + (uint16_t)ADCDataBuf[4] +
|
||||
(ADCDataBuf[5] >> 16) + (uint16_t)ADCDataBuf[5] +
|
||||
(ADCDataBuf[6] >> 16) + (uint16_t)ADCDataBuf[6] +
|
||||
(ADCDataBuf[7] >> 16) + (uint16_t)ADCDataBuf[7] +
|
||||
(ADCDataBuf[8] >> 16) + (uint16_t)ADCDataBuf[8] +
|
||||
(ADCDataBuf[9] >> 16) + (uint16_t)ADCDataBuf[9] ) / 20;
|
||||
|
||||
// if(CoordinateSet[0] == 0)
|
||||
// CoordinateSet[0] = step;
|
||||
}
|
||||
/* USER CODE END 5 */
|
||||
}
|
||||
|
||||
|
||||
@ -103,13 +103,14 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_ADC1_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
/**ADC1 GPIO Configuration
|
||||
PA0-WKUP ------> ADC1_IN0
|
||||
PB0 ------> ADC1_IN8
|
||||
PB1 ------> ADC1_IN9
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/* ADC1 DMA Init */
|
||||
/* ADC1 Init */
|
||||
@ -120,7 +121,7 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
|
||||
hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
|
||||
hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
|
||||
hdma_adc1.Init.Mode = DMA_CIRCULAR;
|
||||
hdma_adc1.Init.Priority = DMA_PRIORITY_MEDIUM;
|
||||
hdma_adc1.Init.Priority = DMA_PRIORITY_LOW;
|
||||
if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
@ -153,9 +154,10 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
|
||||
__HAL_RCC_ADC1_CLK_DISABLE();
|
||||
|
||||
/**ADC1 GPIO Configuration
|
||||
PA0-WKUP ------> ADC1_IN0
|
||||
PB0 ------> ADC1_IN8
|
||||
PB1 ------> ADC1_IN9
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0);
|
||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1);
|
||||
|
||||
/* ADC1 DMA DeInit */
|
||||
HAL_DMA_DeInit(hadc->DMA_Handle);
|
||||
@ -174,7 +176,21 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
|
||||
*/
|
||||
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
|
||||
{
|
||||
if(htim_base->Instance==TIM3)
|
||||
if(htim_base->Instance==TIM2)
|
||||
{
|
||||
/* USER CODE BEGIN TIM2_MspInit 0 */
|
||||
|
||||
/* USER CODE END TIM2_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_TIM2_CLK_ENABLE();
|
||||
/* TIM2 interrupt Init */
|
||||
HAL_NVIC_SetPriority(TIM2_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(TIM2_IRQn);
|
||||
/* USER CODE BEGIN TIM2_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM2_MspInit 1 */
|
||||
}
|
||||
else if(htim_base->Instance==TIM3)
|
||||
{
|
||||
/* USER CODE BEGIN TIM3_MspInit 0 */
|
||||
|
||||
@ -188,19 +204,42 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
|
||||
|
||||
/* USER CODE END TIM3_MspInit 1 */
|
||||
}
|
||||
else if(htim_base->Instance==TIM4)
|
||||
else if(htim_base->Instance==TIM8)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_MspInit 0 */
|
||||
/* USER CODE BEGIN TIM8_MspInit 0 */
|
||||
|
||||
/* USER CODE END TIM4_MspInit 0 */
|
||||
/* USER CODE END TIM8_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_TIM4_CLK_ENABLE();
|
||||
/* TIM4 interrupt Init */
|
||||
HAL_NVIC_SetPriority(TIM4_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(TIM4_IRQn);
|
||||
/* USER CODE BEGIN TIM4_MspInit 1 */
|
||||
__HAL_RCC_TIM8_CLK_ENABLE();
|
||||
/* USER CODE BEGIN TIM8_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM8_MspInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM_PWM MSP Initialization
|
||||
* This function configures the hardware resources used in this example
|
||||
* @param htim_pwm: TIM_PWM handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
|
||||
{
|
||||
if(htim_pwm->Instance==TIM5)
|
||||
{
|
||||
/* USER CODE BEGIN TIM5_MspInit 0 */
|
||||
|
||||
/* USER CODE END TIM5_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_TIM5_CLK_ENABLE();
|
||||
/* TIM5 interrupt Init */
|
||||
HAL_NVIC_SetPriority(TIM5_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(TIM5_IRQn);
|
||||
/* USER CODE BEGIN TIM5_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM5_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM4_MspInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
@ -208,44 +247,80 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
|
||||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
if(htim->Instance==TIM3)
|
||||
if(htim->Instance==TIM2)
|
||||
{
|
||||
/* USER CODE BEGIN TIM2_MspPostInit 0 */
|
||||
|
||||
/* USER CODE END TIM2_MspPostInit 0 */
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
/**TIM2 GPIO Configuration
|
||||
PA1 ------> TIM2_CH2
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_1;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN TIM2_MspPostInit 1 */
|
||||
|
||||
/* USER CODE END TIM2_MspPostInit 1 */
|
||||
}
|
||||
else if(htim->Instance==TIM3)
|
||||
{
|
||||
/* USER CODE BEGIN TIM3_MspPostInit 0 */
|
||||
|
||||
/* USER CODE END TIM3_MspPostInit 0 */
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
/**TIM3 GPIO Configuration
|
||||
PB5 ------> TIM3_CH2
|
||||
PA6 ------> TIM3_CH1
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_5;
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_6;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
__HAL_AFIO_REMAP_TIM3_PARTIAL();
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN TIM3_MspPostInit 1 */
|
||||
|
||||
/* USER CODE END TIM3_MspPostInit 1 */
|
||||
}
|
||||
else if(htim->Instance==TIM4)
|
||||
else if(htim->Instance==TIM5)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_MspPostInit 0 */
|
||||
/* USER CODE BEGIN TIM5_MspPostInit 0 */
|
||||
|
||||
/* USER CODE END TIM4_MspPostInit 0 */
|
||||
/* USER CODE END TIM5_MspPostInit 0 */
|
||||
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
/**TIM4 GPIO Configuration
|
||||
PB6 ------> TIM4_CH1
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
/**TIM5 GPIO Configuration
|
||||
PA2 ------> TIM5_CH3
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_2;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN TIM5_MspPostInit 1 */
|
||||
|
||||
/* USER CODE END TIM5_MspPostInit 1 */
|
||||
}
|
||||
else if(htim->Instance==TIM8)
|
||||
{
|
||||
/* USER CODE BEGIN TIM8_MspPostInit 0 */
|
||||
|
||||
/* USER CODE END TIM8_MspPostInit 0 */
|
||||
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
/**TIM8 GPIO Configuration
|
||||
PC6 ------> TIM8_CH1
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_6;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN TIM4_MspPostInit 1 */
|
||||
/* USER CODE BEGIN TIM8_MspPostInit 1 */
|
||||
|
||||
/* USER CODE END TIM4_MspPostInit 1 */
|
||||
/* USER CODE END TIM8_MspPostInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
@ -257,7 +332,21 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
|
||||
*/
|
||||
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
|
||||
{
|
||||
if(htim_base->Instance==TIM3)
|
||||
if(htim_base->Instance==TIM2)
|
||||
{
|
||||
/* USER CODE BEGIN TIM2_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END TIM2_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_TIM2_CLK_DISABLE();
|
||||
|
||||
/* TIM2 interrupt DeInit */
|
||||
HAL_NVIC_DisableIRQ(TIM2_IRQn);
|
||||
/* USER CODE BEGIN TIM2_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END TIM2_MspDeInit 1 */
|
||||
}
|
||||
else if(htim_base->Instance==TIM3)
|
||||
{
|
||||
/* USER CODE BEGIN TIM3_MspDeInit 0 */
|
||||
|
||||
@ -271,19 +360,156 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
|
||||
|
||||
/* USER CODE END TIM3_MspDeInit 1 */
|
||||
}
|
||||
else if(htim_base->Instance==TIM4)
|
||||
else if(htim_base->Instance==TIM8)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_MspDeInit 0 */
|
||||
/* USER CODE BEGIN TIM8_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END TIM4_MspDeInit 0 */
|
||||
/* USER CODE END TIM8_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_TIM4_CLK_DISABLE();
|
||||
__HAL_RCC_TIM8_CLK_DISABLE();
|
||||
/* USER CODE BEGIN TIM8_MspDeInit 1 */
|
||||
|
||||
/* TIM4 interrupt DeInit */
|
||||
HAL_NVIC_DisableIRQ(TIM4_IRQn);
|
||||
/* USER CODE BEGIN TIM4_MspDeInit 1 */
|
||||
/* USER CODE END TIM8_MspDeInit 1 */
|
||||
}
|
||||
|
||||
/* USER CODE END TIM4_MspDeInit 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief TIM_PWM MSP De-Initialization
|
||||
* This function freeze the hardware resources used in this example
|
||||
* @param htim_pwm: TIM_PWM handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
|
||||
{
|
||||
if(htim_pwm->Instance==TIM5)
|
||||
{
|
||||
/* USER CODE BEGIN TIM5_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END TIM5_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_TIM5_CLK_DISABLE();
|
||||
|
||||
/* TIM5 interrupt DeInit */
|
||||
HAL_NVIC_DisableIRQ(TIM5_IRQn);
|
||||
/* USER CODE BEGIN TIM5_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END TIM5_MspDeInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief UART MSP Initialization
|
||||
* This function configures the hardware resources used in this example
|
||||
* @param huart: UART handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
if(huart->Instance==USART1)
|
||||
{
|
||||
/* USER CODE BEGIN USART1_MspInit 0 */
|
||||
|
||||
/* USER CODE END USART1_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_USART1_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
/**USART1 GPIO Configuration
|
||||
PA9 ------> USART1_TX
|
||||
PA10 ------> USART1_RX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_9;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_10;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* USER CODE BEGIN USART1_MspInit 1 */
|
||||
|
||||
/* USER CODE END USART1_MspInit 1 */
|
||||
}
|
||||
else if(huart->Instance==USART3)
|
||||
{
|
||||
/* USER CODE BEGIN USART3_MspInit 0 */
|
||||
|
||||
/* USER CODE END USART3_MspInit 0 */
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_USART3_CLK_ENABLE();
|
||||
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
/**USART3 GPIO Configuration
|
||||
PC10 ------> USART3_TX
|
||||
PC11 ------> USART3_RX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_10;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_11;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||
|
||||
__HAL_AFIO_REMAP_USART3_PARTIAL();
|
||||
|
||||
/* USER CODE BEGIN USART3_MspInit 1 */
|
||||
|
||||
/* USER CODE END USART3_MspInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief UART MSP De-Initialization
|
||||
* This function freeze the hardware resources used in this example
|
||||
* @param huart: UART handle pointer
|
||||
* @retval None
|
||||
*/
|
||||
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
|
||||
{
|
||||
if(huart->Instance==USART1)
|
||||
{
|
||||
/* USER CODE BEGIN USART1_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END USART1_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_USART1_CLK_DISABLE();
|
||||
|
||||
/**USART1 GPIO Configuration
|
||||
PA9 ------> USART1_TX
|
||||
PA10 ------> USART1_RX
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
|
||||
|
||||
/* USER CODE BEGIN USART1_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END USART1_MspDeInit 1 */
|
||||
}
|
||||
else if(huart->Instance==USART3)
|
||||
{
|
||||
/* USER CODE BEGIN USART3_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END USART3_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_USART3_CLK_DISABLE();
|
||||
|
||||
/**USART3 GPIO Configuration
|
||||
PC10 ------> USART3_TX
|
||||
PC11 ------> USART3_RX
|
||||
*/
|
||||
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10|GPIO_PIN_11);
|
||||
|
||||
/* USER CODE BEGIN USART3_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END USART3_MspDeInit 1 */
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -25,8 +25,9 @@
|
||||
extern volatile uint32_t SetPluseCount[7u]; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
extern volatile uint32_t PluseCount[7u]; // ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
extern volatile _Bool CountOver[7u]; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||
extern void TIM3_CH2_CMD( _Bool CMD );
|
||||
extern void TIM4_CH1_CMD( _Bool CMD );
|
||||
extern void TIM3_CH1_CMD( _Bool CMD );
|
||||
extern void TIM5_CH3_CMD( _Bool CMD );
|
||||
extern void TIM2_CH2_CMD( _Bool CMD );
|
||||
/* USER CODE END Includes */
|
||||
|
||||
/* Private typedef -----------------------------------------------------------*/
|
||||
@ -61,8 +62,9 @@ extern void TIM4_CH1_CMD( _Bool CMD );
|
||||
|
||||
/* External variables --------------------------------------------------------*/
|
||||
extern DMA_HandleTypeDef hdma_adc1;
|
||||
extern TIM_HandleTypeDef htim2;
|
||||
extern TIM_HandleTypeDef htim3;
|
||||
extern TIM_HandleTypeDef htim4;
|
||||
extern TIM_HandleTypeDef htim5;
|
||||
extern TIM_HandleTypeDef htim1;
|
||||
|
||||
/* USER CODE BEGIN EV */
|
||||
@ -167,6 +169,20 @@ void DebugMon_Handler(void)
|
||||
/* please refer to the startup file (startup_stm32f1xx.s). */
|
||||
/******************************************************************************/
|
||||
|
||||
/**
|
||||
* @brief This function handles EXTI line0 interrupt.
|
||||
*/
|
||||
void EXTI0_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN EXTI0_IRQn 0 */
|
||||
|
||||
/* USER CODE END EXTI0_IRQn 0 */
|
||||
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
|
||||
/* USER CODE BEGIN EXTI0_IRQn 1 */
|
||||
|
||||
/* USER CODE END EXTI0_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles DMA1 channel1 global interrupt.
|
||||
*/
|
||||
@ -195,6 +211,29 @@ void TIM1_UP_IRQHandler(void)
|
||||
/* USER CODE END TIM1_UP_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM2 global interrupt.
|
||||
*/
|
||||
void TIM2_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN TIM2_IRQn 0 */
|
||||
|
||||
/* USER CODE END TIM2_IRQn 0 */
|
||||
HAL_TIM_IRQHandler(&htim2);
|
||||
/* USER CODE BEGIN TIM2_IRQn 1 */
|
||||
CLEAR_BIT( TIM2->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
if( PluseCount[2u] < SetPluseCount[2u] )
|
||||
PluseCount[2u] ++;
|
||||
else
|
||||
{
|
||||
TIM2_CH2_CMD( 0 );
|
||||
CountOver[2u] = 1;
|
||||
CLEAR_BIT( TIM2->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
}
|
||||
|
||||
/* USER CODE END TIM2_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM3 global interrupt.
|
||||
*/
|
||||
@ -205,39 +244,39 @@ void TIM3_IRQHandler(void)
|
||||
/* USER CODE END TIM3_IRQn 0 */
|
||||
HAL_TIM_IRQHandler(&htim3);
|
||||
/* USER CODE BEGIN TIM3_IRQn 1 */
|
||||
CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
if( PluseCount[1u] < SetPluseCount[1u] )
|
||||
PluseCount[1u] ++;
|
||||
else
|
||||
{
|
||||
TIM3_CH2_CMD( 0 );
|
||||
TIM3_CH1_CMD( 0 );
|
||||
CountOver[1u] = 1;
|
||||
CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
}
|
||||
/* USER CODE END TIM3_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM4 global interrupt.
|
||||
* @brief This function handles TIM5 global interrupt.
|
||||
*/
|
||||
void TIM4_IRQHandler(void)
|
||||
void TIM5_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_IRQn 0 */
|
||||
/* USER CODE BEGIN TIM5_IRQn 0 */
|
||||
|
||||
/* USER CODE END TIM4_IRQn 0 */
|
||||
HAL_TIM_IRQHandler(&htim4);
|
||||
/* USER CODE BEGIN TIM4_IRQn 1 */
|
||||
CLEAR_BIT( TIM4->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
/* USER CODE END TIM5_IRQn 0 */
|
||||
HAL_TIM_IRQHandler(&htim5);
|
||||
/* USER CODE BEGIN TIM5_IRQn 1 */
|
||||
CLEAR_BIT( TIM5->SR, TIM_SR_UIF | TIM_SR_CC3IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
if( PluseCount[0u] < SetPluseCount[0u] )
|
||||
PluseCount[0u] ++;
|
||||
else
|
||||
{
|
||||
TIM4_CH1_CMD( 0 );
|
||||
TIM5_CH3_CMD( 0 );
|
||||
CountOver[0u] = 1;
|
||||
CLEAR_BIT( TIM4->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
CLEAR_BIT( TIM5->SR, TIM_SR_UIF | TIM_SR_CC3IF ); // <09><><EFBFBD><EFBFBD>жϱ<D0B6><CFB1>
|
||||
}
|
||||
|
||||
/* USER CODE END TIM4_IRQn 1 */
|
||||
/* USER CODE END TIM5_IRQn 1 */
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
@ -130,7 +130,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTARM</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)</Name>
|
||||
<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=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(125=-1,-1,-1,-1,0)(126=-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=-1,-1,-1,-1,0)(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)(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>
|
||||
<Number>0</Number>
|
||||
@ -145,7 +145,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>CMSIS_AGDI</Key>
|
||||
<Name>-X"CMSIS-DAP" -USTM32er.220207 -O2758 -S9 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO65554 -TC72000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO23 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
|
||||
<Name>-X"ATK-HS-V3-CMSIS-DAP" -UATK 20190528 -O2758 -S9 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO65554 -TC72000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO31 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@ -158,94 +158,166 @@
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>CoordinateSet,0x0A</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/StepMotor.c\CoordinateSet,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>SpeedSet</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/StepMotor.c\SpeedSet</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>2</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>ShiftPluse</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/StepMotor.c\ShiftPluse</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>3</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>step,0x0A</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/StepMotor.c\PluseCount</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>4</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>ADCDataBuf,0x10</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/StepMotor.c\SetPluseCount</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>5</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>ADCData</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/StepMotor.c\CoordinatePosition</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>6</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>temp,0x0A</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/StepMotor.c\Velocity</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>7</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>PluseCount,0x0A</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\step</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>8</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>SetPluseCount,0x0A</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\SetmL</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>9</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>xTaskHandles</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\slope1</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>10</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>temp1</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\slope2</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>11</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>temp2</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\CCRV</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>12</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>SetmL</ItemText>
|
||||
<ItemText>UseuL</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>13</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>CuiQuFlag</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\ADCData</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>14</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>ZhongHeFlag</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\Blank</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>15</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>slope1</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\ABSB</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>16</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>slope2</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\ABSBuf</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>17</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>UseuL</ItemText>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\UseuLBuf</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>18</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\UseduL</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>19</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\mg_g</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>20</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\uL_Blank</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>21</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\WeigthSample</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>22</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\HasSample</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>23</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\SetSample</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>24</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\FillFlag</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>25</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>\\YouSuan\../Core/Src/YouSuan.c\SampleRunFlag</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>26</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>StateString</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>27</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>dlteaminCount</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>28</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>dlteamin</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>29</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>BufIndex,0x0A</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<WatchWindow2>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>2</WinNumber>
|
||||
<ItemText>HasSample</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>2</WinNumber>
|
||||
<ItemText>j</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow2>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
@ -254,6 +326,30 @@
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x24018000</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<MemoryWindow3>
|
||||
<Mm>
|
||||
<WinNumber>3</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x38001000</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow3>
|
||||
<MemoryWindow4>
|
||||
<Mm>
|
||||
<WinNumber>4</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x24050000</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow4>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
@ -296,6 +392,12 @@
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<SystemViewers>
|
||||
<Entry>
|
||||
<Name>System Viewer\USART1</Name>
|
||||
<WinId>35905</WinId>
|
||||
</Entry>
|
||||
</SystemViewers>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableFlashSeq>1</EnableFlashSeq>
|
||||
@ -339,8 +441,8 @@
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\StepMotor.c</PathWithFileName>
|
||||
<FilenameWithoutPath>StepMotor.c</FilenameWithoutPath>
|
||||
<PathWithFileName>..\Core\Src\TIM.c</PathWithFileName>
|
||||
<FilenameWithoutPath>TIM.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
@ -351,8 +453,8 @@
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\TIM.c</PathWithFileName>
|
||||
<FilenameWithoutPath>TIM.c</FilenameWithoutPath>
|
||||
<PathWithFileName>..\Core\Src\StepMotor.c</PathWithFileName>
|
||||
<FilenameWithoutPath>StepMotor.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
@ -375,6 +477,18 @@
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\YouSuan.c</PathWithFileName>
|
||||
<FilenameWithoutPath>YouSuan.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>../Core/Src/freertos.c</PathWithFileName>
|
||||
<FilenameWithoutPath>freertos.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
@ -382,7 +496,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -394,7 +508,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<FileNumber>8</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -406,7 +520,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>8</FileNumber>
|
||||
<FileNumber>9</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -416,6 +530,18 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Delay.c</PathWithFileName>
|
||||
<FilenameWithoutPath>Delay.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
@ -426,7 +552,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>9</FileNumber>
|
||||
<FileNumber>11</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -438,7 +564,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileNumber>12</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -450,7 +576,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>11</FileNumber>
|
||||
<FileNumber>13</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -462,7 +588,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>12</FileNumber>
|
||||
<FileNumber>14</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -474,7 +600,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>13</FileNumber>
|
||||
<FileNumber>15</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -486,7 +612,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>14</FileNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -498,7 +624,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>15</FileNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -510,7 +636,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -522,7 +648,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -534,7 +660,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -546,7 +672,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -558,7 +684,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -570,7 +696,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -582,7 +708,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -594,7 +720,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -604,6 +730,18 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c</PathWithFileName>
|
||||
<FilenameWithoutPath>stm32f1xx_hal_uart.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
@ -614,7 +752,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -628,13 +766,13 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>Middlewares/FreeRTOS</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -646,7 +784,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -658,7 +796,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -670,7 +808,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -682,7 +820,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -694,7 +832,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileNumber>33</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -706,7 +844,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileNumber>34</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -718,7 +856,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileNumber>35</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -730,7 +868,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>33</FileNumber>
|
||||
<FileNumber>36</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@ -742,9 +880,9 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>34</FileNumber>
|
||||
<FileNumber>37</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM3/port.c</PathWithFileName>
|
||||
@ -754,6 +892,146 @@
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Modbus</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>38</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\functions\mbfunccoils.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbfunccoils.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>39</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\functions\mbfuncdiag.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbfuncdiag.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>40</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\functions\mbfuncdisc.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbfuncdisc.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>41</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\functions\mbfuncholding.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbfuncholding.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>42</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\functions\mbfuncinput.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbfuncinput.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>43</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\functions\mbfuncother.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbfuncother.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>44</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\functions\mbutils.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbutils.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>45</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\rtu\mbcrc.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbcrc.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>46</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\rtu\mbrtu.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mbrtu.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>47</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\mb.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mb.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>48</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\Modbus\MODBUS-Port-STM32.C</PathWithFileName>
|
||||
<FilenameWithoutPath>MODBUS-Port-STM32.C</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
|
||||
@ -116,8 +116,8 @@
|
||||
<SimDlgDllArguments>-pCM3</SimDlgDllArguments>
|
||||
<TargetDllName>SARMCM3.DLL</TargetDllName>
|
||||
<TargetDllArguments></TargetDllArguments>
|
||||
<TargetDlgDll>TCM.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
|
||||
<TargetDlgDll>TARMSTM.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-pSTM32F103RC</TargetDlgDllArguments>
|
||||
</DllOption>
|
||||
<DebugOption>
|
||||
<OPTHX>
|
||||
@ -191,7 +191,7 @@
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
<useUlib>0</useUlib>
|
||||
<useUlib>1</useUlib>
|
||||
<EndSel>0</EndSel>
|
||||
<uLtcg>0</uLtcg>
|
||||
<nSecure>0</nSecure>
|
||||
@ -339,7 +339,7 @@
|
||||
<v6Rtti>0</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define>USE_HAL_DRIVER,STM32F103xE</Define>
|
||||
<Define>USE_HAL_DRIVER,STM32F103xE,RTE_COMPONENTS_H,NDEBUG</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM3;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include</IncludePath>
|
||||
</VariousControls>
|
||||
@ -395,21 +395,26 @@
|
||||
<Group>
|
||||
<GroupName>Application/User/Core</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>StepMotor.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\StepMotor.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>TIM.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\TIM.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>StepMotor.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\StepMotor.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>YouSuan.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\YouSuan.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>freertos.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
@ -481,6 +486,11 @@
|
||||
</FileArmAds>
|
||||
</FileOption>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Delay.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Delay.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
@ -561,6 +571,11 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_uart.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
@ -628,6 +643,135 @@
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Modbus</GroupName>
|
||||
<GroupOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>0</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>2</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
</CommonProperty>
|
||||
<GroupArmAds>
|
||||
<Cads>
|
||||
<interw>2</interw>
|
||||
<Optim>0</Optim>
|
||||
<oTime>2</oTime>
|
||||
<SplitLS>2</SplitLS>
|
||||
<OneElfS>2</OneElfS>
|
||||
<Strict>2</Strict>
|
||||
<EnumInt>2</EnumInt>
|
||||
<PlainCh>2</PlainCh>
|
||||
<Ropi>2</Ropi>
|
||||
<Rwpi>2</Rwpi>
|
||||
<wLevel>0</wLevel>
|
||||
<uThumb>2</uThumb>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<uC99>2</uC99>
|
||||
<uGnu>2</uGnu>
|
||||
<useXO>2</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>2</vShortEn>
|
||||
<vShortWch>2</vShortWch>
|
||||
<v6Lto>2</v6Lto>
|
||||
<v6WtE>2</v6WtE>
|
||||
<v6Rtti>2</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>..\Core\Src\Modbus;..\Core\Src\Modbus\include;..\Core\Src\Modbus\port-stm32;..\Core\Src\Modbus\rtu</IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
<interw>2</interw>
|
||||
<Ropi>2</Ropi>
|
||||
<Rwpi>2</Rwpi>
|
||||
<thumb>2</thumb>
|
||||
<SplitLS>2</SplitLS>
|
||||
<SwStkChk>2</SwStkChk>
|
||||
<NoWarn>2</NoWarn>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<useXO>2</useXO>
|
||||
<ClangAsOpt>0</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
</GroupArmAds>
|
||||
</GroupOption>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>mbfunccoils.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\functions\mbfunccoils.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mbfuncdiag.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\functions\mbfuncdiag.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mbfuncdisc.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\functions\mbfuncdisc.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mbfuncholding.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\functions\mbfuncholding.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mbfuncinput.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\functions\mbfuncinput.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mbfuncother.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\functions\mbfuncother.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mbutils.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\functions\mbutils.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mbcrc.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\rtu\mbcrc.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mbrtu.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\rtu\mbrtu.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mb.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\mb.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>MODBUS-Port-STM32.C</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\Modbus\MODBUS-Port-STM32.C</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
</Group>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user