﻿================================================================================
                                样例使用说明
================================================================================
Date            Author      IAR       MDK       GCC
2025-06-30      CDT         7.70      5.36      gcc-arm-none-eabi-10.3-2021.10-win32

================================================================================
平台说明
================================================================================
GCC工程，由Eclipse IDE外挂GNU-ARM Toolchain，再结合pyOCD GDB Server实现工程的编译、
链接和调试。在用Eclipse导入工程后，请将xxxx_PyOCDDebug中pyocd-gdbserver和SVD文件
设置为正确的路径；请将xxxx_PyOCDDownload中pyocd设置为正确的路径。注意，这些路径不
能包含非英文字符。

================================================================================
功能描述
================================================================================
本例程展示HALL的7-5滤波和连续滤波功能。

说明：
1. HALL时钟：1.875MHz

2. HALL A、B和C信号引脚定义：
A：P42
B：P41
C：P40

3. 用TimerA单元1和单元2输出3路PWM给HALL进行滤波测试：
TMRA_1_PWM1(PD4): 234KHz, 高占空比75%
TMRA_1_PWM2(PD6): 234KHz，高占空比50%
TMRA_2_PWM1(PA2): 156KHz，高占空比50%

================================================================================
测试环境
================================================================================
测试用板:
---------------------
SK_F431_LQ64_Rev1.0

辅助工具:
---------------------
杜邦线

辅助软件:
---------------------
串口调试助手软件（115200bps，8N1）

================================================================================
使用步骤
================================================================================
1）通过USB数据线，连接PC和板子DAP。
2）打开工程，重新编译，启动调试或直接下载程序运行；
3）短接HALL其中一个信号如A（P42）与PD4;
4）程序默认禁止HALL滤波器，串口调试助手打印如下信息：
    HALL signal changed.    //一直打印
    ……
5）按下并释放按键K1，使用7-5滤波。PD4输出的PWM被滤波后都为高信号，不导致信号变化。串口调试助手打印：
    HALL 7-5 filter(L1).
    HALL signal changed.    //打印一次
    HALL signal not changed.//一直打印
    ……
6）断开P42（A信号）与PD4，重新短接P42到PD6。PD6输出的PWM不满足滤波条件，滤波后的信号将保持
   上一次的滤波值，A信号的原始信号和滤波后的信号都为高，不导致信号变化。串口调试助手打印：
    HALL signal changed.    //在手动短接时导致信号变化，可能打印多次
    HALL signal not changed.//一直打印
    ……
7）断开P42（A信号）与PD6，重新短接P42到PA2。PA2输出的PWM高电平和电平都满足滤波条件，滤波后的
   信号也是高低周期性切换，导致信号变化。串口调试助手打印：
    HALL signal changed.    //一直打印
    ……
8）按下并释放按键K1，切换到使用连续滤波，滤波宽度默认设置为2。PA2输出的PWM高电平和电平都满足滤波条件，
   滤波后的信号也是高低周期性切换，导致信号变化。串口调试助手打印：
    HALL continuous filter(L2), filter width is 2.
    HALL signal changed.    //一直打印
    ……
9）按下并释放按键K2，可增加连续滤波的滤波宽度，最高到6，然后从2重新开始。当滤波宽度增加到6时，PA2输出的
   PWM不满足滤波条件，滤波后的信号将保持上一次的滤波值，不再导致信号变化，串口调试助手打印：
   HALL signal not changed.

================================================================================
注意
================================================================================
1. 为了方便按键控制，程序未使用HALL中断；
2. 为了方便观察log，log设置为每秒打印一次；

================================================================================
