打印
[LKS32 软件]

求助代码!!

[复制链接]
608|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzq1998|  楼主 | 2024-10-16 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人使用LKS_EVB_MCUAT086的板子进行电机驱动的调试,结果好几天一直都没成功,用的是LKS32MC08x_SDK无感FOC培训大纲与例程V2.9中的LKS08x_FOC_SensorLessV4.28.2程序,结果一直卡在CMP_IRQHandler函数中,期间也找了其他程序,结果跟着b站的教程走,连25%的PWM波形都输不出来,更别说让电机转动了,不知道有没有大佬有关于这个板子调试成功的代码分享一下,感谢!!!

使用特权

评论回复
沙发
玉树临风小黑龙| | 2024-10-16 11:28 | 只看该作者
检查一下硬件过流的正负端信号选择是否有问题,也可以将PWM的过流使能先关掉,再发个25%的试试,应该是误触发硬件过流了

使用特权

评论回复
板凳
yzq1998|  楼主 | 2024-10-16 15:15 | 只看该作者
玉树临风小黑龙 发表于 2024-10-16 11:28
检查一下硬件过流的正负端信号选择是否有问题,也可以将PWM的过流使能先关掉,再发个25%的试试,应该是误触 ...

          if((MCPWM_EIF & BIT4) || (MCPWM_EIF & BIT5))//MCPWM_FALLʼþ Ó²¼þ¹ýÁ÷ÅжÏ
                {
       MCPWM_EIF = BIT4|BIT5;
       stru_Faults.B.HardCurretError = 1;// Ó²¼þ¹ýÁ÷±ê־λÖÃ1
                }
请问是将这一段代码给屏蔽吗,没用啊,还是一直在卡在CMP_IRQHandler函数中

使用特权

评论回复
地板
丙丁先生| | 2024-10-17 05:01 | 只看该作者
LKS_EVB_MCUAT086是一款基于ARM Cortex-M4内核的微控制器开发板,用于电机驱动调试。CMP_IRQHandler函数是中断处理程序,用于处理比较器(Comparator)产生的中断信号。

在电机驱动调试中,CMP_IRQHandler函数可能被用来检测电机的速度或位置信息。当比较器的输出信号发生变化时,它会触发一个中断,然后调用CMP_IRQHandler函数来处理这个中断。在这个函数中,你可以编写代码来读取电机的状态,执行相应的操作,例如调整电机的转速或方向等。

以下是一个简化的CMP_IRQHandler函数示例:

```c
void CMP_IRQHandler(void)
{
    // 清除中断标志位
    CMP->IFC = CMP_IFC_CMPIF_MASK;

    // 读取比较器输出状态
    bool cmpOutput = CMP->C1 & CMP_C1_OUT_MASK;

    // 根据比较器输出状态执行相应操作
    if (cmpOutput)
    {
        // 电机速度过快,降低电机转速
        decreaseMotorSpeed();
    }
    else
    {
        // 电机速度正常,保持当前转速
        maintainMotorSpeed();
    }
}
```

请注意,这只是一个示例,实际的CMP_IRQHandler函数实现可能会根据你的硬件配置和需求有所不同。你需要根据具体的硬件文档和开发环境来编写适合你的项目的中断处理程序。

使用特权

评论回复
5
MYWX| | 2024-10-17 09:09 | 只看该作者
yzq1998 发表于 2024-10-16 15:15
if((MCPWM_EIF & BIT4) || (MCPWM_EIF & BIT5))//MCPWM_FALLʼþ Ó²¼þ¹ýÁ÷ÅжÏ
                {
  ...

CMP的中断使能也先关掉

使用特权

评论回复
6
桃醉| | 2024-10-21 12:33 | 只看该作者
主要是硬件的差异,找到设计硬件不同点,在代码中修改并做兼容设计,CMP_IRQHandler函数内部的阻塞可以打断点分析

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

19

帖子

0

粉丝