训练营PLSR题目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

64 line
2.0 KiB

  1. #ifndef __PLSR_H__
  2. #define __PLSR_H__
  3. #include "stdint.h"
  4. /* 结构体定义,每段脉冲的参数 */
  5. typedef struct
  6. {
  7. uint32_t Frequency ; ///<< 脉冲的频率
  8. int32_t PulseCount; ///<< 脉冲的总数
  9. int8_t NextPulse; ///<< 下一段脉冲是第几个 , 若为0代表默认下一个脉冲
  10. uint8_t EXT; ///<< EXT
  11. } Pulse;
  12. typedef struct
  13. {
  14. uint8_t SentPost; ///<<脉冲发送端子
  15. uint8_t DirPost; ///<<脉冲方向端子
  16. uint8_t EXT; ///<<EXT信号
  17. uint8_t DirDelay; ///<<脉冲方向延时时间
  18. uint8_t Dir; ///<<脉冲方向逻辑(逻辑正0,逻辑反1)
  19. uint8_t AccMod; ///<<脉冲加减速模式
  20. uint8_t RunMod; ///<<运行模式(相对0,绝对1)
  21. uint8_t AllPulse; ///<<脉冲总段数
  22. uint8_t StartPulse; ///<<起始执行段数
  23. uint32_t InitSpeed; ///<<脉冲默认速度
  24. uint16_t AccUpTime; ///<<脉冲默认速度加速时间
  25. uint16_t AccDownTime; ///<<脉冲默认速度减速时间
  26. } Option;
  27. /* 变量声明 */
  28. extern Pulse PulseOutput[10];
  29. extern Option Options;
  30. extern uint8_t NowPulse; ///<< 当前处于第几段脉冲
  31. extern uint8_t PrePulse; ///<< 之前处于第几段脉冲
  32. extern uint8_t PulseNum; ///<< 一共有多少段脉冲(中断内使用)
  33. extern int32_t MAX_Pulse; ///<< 最多的脉冲数
  34. extern int32_t AccUpCount; ///<<加速脉冲数
  35. extern int32_t AccDownCount;///<<减速脉冲数
  36. extern int32_t NowMAXPulse; ///<<当前要达到的总脉冲
  37. extern int32_t PulseCount;
  38. extern int32_t NextPulseEND;
  39. /* 函数声明 */
  40. void SetFrequency(uint8_t SentPost, uint32_t Frequency);
  41. void SetPulse(uint8_t Pulse, uint32_t Ferquency, int32_t Count, uint8_t Direction, int8_t NextPulse);
  42. void PulseBaseInit(uint8_t StartPulse, uint8_t PulseMod, int32_t MAX_Pulse);
  43. void PulseStart(void);
  44. float GetAcc(int32_t Start, int32_t End, int32_t AccCount);
  45. void AddPulse(uint8_t Pulse, uint32_t Ferquency, int32_t Count, int8_t NextPulse);
  46. void PulseInit(uint8_t Pulse, uint32_t Ferquency, int32_t Count, int8_t NextPulse);
  47. void SetNextPulse(void);
  48. void PLSROptionLoad(void);
  49. void PLSRPluseLoad(void);
  50. void CountSave(void);
  51. void GetAddCount(void);
  52. uint32_t GetBase(uint8_t NowPulseNUM);
  53. #endif