打印

LKs32mc07x MCPWM 为何无法多次触发adc 采样?

[复制链接]
219|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FEZ|  楼主 | 2025-5-7 14:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
FEZ|  楼主 | 2025-5-7 14:59 | 只看该作者

LKs32mc07x MCPWM 为何无法多次触发adc 采样?

使用特权

评论回复
板凳
FEZ|  楼主 | 2025-5-7 15:00 | 只看该作者

LKs32mc07x MCPWM 为何无法多次触发adc 采样?

void GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
    uint16_t current_state = GPIOx->PDO & GPIO_Pin;

    if(current_state)
    {
        GPIOx->BRR = GPIO_Pin;  // ??
    }
    else
    {
        GPIOx->BSRR = GPIO_Pin; // ??
    }
}
void ADC0_IRQHandler(void)
{
          if(ADC_GetIRQFlag(ADC0,ADC_SF1_IF))
                {
                          ADC_ClearIRQFlag(ADC0,ADC_SF1_IF);
                                GPIO_TogglePin(GPIO0 ,GPIO_Pin_6);
                }
}

使用特权

评论回复
地板
FEZ|  楼主 | 2025-5-7 15:04 | 只看该作者

LKs32mc07x MCPWM 为何无法多次触发adc 采样?

求助求助!!!
使用LK07x 官网demo mcpwm 触发 ADC采集;
目前该demo 触发adc 采集一次就结束了,如何修改 可以一直连续触发adc 采集呢?
修改ADC为单段采样,中断使能打开;现象IO 0.6口 从低变到高之后保持;中断程序如下:
void GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
    uint16_t current_state = GPIOx->PDO & GPIO_Pin;

    if(current_state)
    {
        GPIOx->BRR = GPIO_Pin;  // ??
    }
    else
    {
        GPIOx->BSRR = GPIO_Pin; // ??
    }
}
void ADC0_IRQHandler(void)
{
          if(ADC_GetIRQFlag(ADC0,ADC_SF1_IF))
                {
                          ADC_ClearIRQFlag(ADC0,ADC_SF1_IF);
                                GPIO_TogglePin(GPIO0 ,GPIO_Pin_6);
                }
}

使用特权

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

本版积分规则

FEZ

1

主题

4

帖子

0

粉丝