1st 我尝试通过创建自己的示例,如示例所示,我可以读取单个频道的频率
参考下面的代码
我的输入频率是 500 赫兹,我可以在这个单通道中读取 500 赫兹,但是当我配置为多通道时,我收到错误信息,请在页面下方
uint32_t 频率;
void clock_pins_init (
void )
{
/* 初始化时钟模块 */
CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT, g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT);
CLOCK_SYS_UpdateConfigura
tion(0U,CLOCK_MANAGER_POLICY_AGREEMENT);
/* 初始化引脚 */
PINS_DRV_Init(NUM_OF_CONFIGURED_PINS0,g_pin_mux_InitConfigArr0);
ic_pal();
}
void ic_pal (
无效)
{
IC_Init(&ic_pal_1_instanceConfig, &ic_pal_1_InitConfig);
频率 = FTM_DRV_GetFrequency(ic_pal_1_instanceConfig.instIdx);
}
诠释 主要(
无效)
{
/* 在这里写你的代码 */
clock_pins_init();
对于(;;)
{
/* 获取最新值 */
inputCaptureMeas = IC_GetMeasurement(&ic_pal_1_instanceConfig, 0);
/* 使用记录的数据计算信号频率 */
inputCaptureMeas = 频率 / (inputCaptureMeas);
}
}
/* 结束主要 */
/*!
** @}
*/
@抢
获得单通道输出后,我配置了第二个通道,但出现以下错误
- 测量两个连续上升沿之间的周期
- 测量两个连续下降沿之间的周期
我尝试了这两个选项,所以我现在收到以下错误
错误是奇数通道不支持奇数通道
在我得到这个之后,我跳过了只读取具有以下配置的通道我仍然无法读取第二个通道频率
包括“sdk_project_config.h”
易失性uint16_t inputCaptureMeas = 0,inputCaptureMeas1 = 0U,inputCaptureMeas2 = 0U;
uint32_t 频率;
void clock_pins_init (
void )
{
/* 初始化时钟模块 */
CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT, g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT);
CLOCK_SYS_UpdateConfiguration(0U,CLOCK_MANAGER_POLICY_AGREEMENT);
/* 初始化引脚 */
PINS_DRV_Init(NUM_OF_CONFIGURED_PINS0,g_pin_mux_InitConfigArr0);
ic_pal();
}
void ic_pal (无效)
{
IC_Init(&ic_pal_1_instanceConfig, &ic_pal_1_InitConfig);
频率 = FTM_DRV_GetFrequency(ic_pal_1_instanceConfig.instIdx);
}
诠释 主要(
无效)
{
/* 在这里写你的代码 */
clock_pins_init();
对于(;;)
{
/* 获取最新值 */
inputCaptureMeas = IC_GetMeasurement(&ic_pal_1_instanceConfig, 0);
/* 使用记录的数据计算信号频率 */
inputCaptureMeas = 频率 / (inputCaptureMeas);
inputCaptureMeas1 = IC_GetMeasurement(&ic_pal_1_instanceConfig, 2);
/* 使用记录的数据计算信号频率 */
inputCaptureMeas1 = 频率 / (inputCaptureMeas1);
}
}
/* 结束主要 */
/*!
** @}
*/
我没有得到任何 channel2 输出
我能得到更多的提示吗我怎样才能实现多通道频率的读取