跳转至内容

YT MCAL

Questions about YT MCAL
提问请附带芯片和软件版本信息

100 主题 492 帖子
  • flashdrv调用失败

    1
    0 赞同
    1 帖子
    57 浏览
    尚无回复
  • SPI主的MISO和MOSI功能对调后Port的方向是否需要手动改变?

    2
    0 赞同
    2 帖子
    46 浏览
    YQHY

    liuxu_smartens 不需要

  • MC03 SPI Job多个Channel以及默认值的Bug

    3
    0 赞同
    3 帖子
    239 浏览
    swustS

    问题1是驱动决定的,如果一定有这个需求可将两个channel合并长度,只用一个channel;问题2填充buffer需要自己定义,传递空指针时发送默认值。
    image.png

  • MCAL中断注册函数失败

    1
    0 赞同
    1 帖子
    95 浏览
    尚无回复
  • MD14 I2C SCL 对地短路恢复后总线通讯失败

    1
    1 赞同
    1 帖子
    181 浏览
    尚无回复
  • FLASH擦写函数使用报错

    2
    0 赞同
    2 帖子
    249 浏览
    houjun_xiaoH

    你需要确认一下Async模式是否配置正确,对于0x10000的地址,可能与你的代码处于同一个flash block,所以不能使能async模式。

  • uint64的变量进行除法运算时会编译报错

    5
    0 赞同
    5 帖子
    483 浏览
    zhaodong1Z

    image.png我配置加上后还是有相同的报错
    image.png

  • 地址跳转函数

    5
    0 赞同
    5 帖子
    595 浏览
    zhaodong1Z

    qinzhao ok,问题已解决,感谢支持

  • MCAL_FLS

    8
    0 赞同
    8 帖子
    595 浏览
    zhaodong1Z

    我发现我的擦除地址覆盖到我工程本身地址了,我再修改一下试一下,,还是不行的话下午麻烦您指导一下

  • YTM32B1ME05芯片fls配置

    5
    0 赞同
    5 帖子
    583 浏览
    zhaodong1Z

    image.png我调用擦写函数可以返回OK,但是进入到mainfunction后一直触发硬件故障时什么原因

  • yt config tool 2.6.5 linux 版本,创建 mcal can 例程报错

    4
    0 赞同
    4 帖子
    689 浏览
    FrankieF

    重新申请一下离线license

  • 复位函数使用

    2
    0 赞同
    2 帖子
    580 浏览
    quanfengQ

    软件复位试一下 Mcu_PerformReset 这个 API
    image.png

  • MC0 Mcal的UART问题

    11
    0 赞同
    11 帖子
    885 浏览
    RuiXuR

    zhai 在 MC0 Mcal的UART问题 中说:

    RuiXu 刚刚试了一下,按照这种方式操作,也是发送完成后才能进行回读,比如要发送2字节,中断进入顺序是TX_EMPTY->TX_EMPTY->END_TX->RX_FULL->END_RX。还是不能实现最初的一个字节发送错误就立即终止后续发送需求

    连续两次进入TX_EMPTY是由于TX_EMPTY的中断响应时间太快了,可能响应第二次中断的时候第一个字节还没有接收完成。校验有一定的滞后性,但是比发送多个字节后响应IDLE校验要好一些。由于MC0没有硬件回读的功能,因此目前只有这种方法。或者可尝试修改底层代码,只使用TX完成中断作为发送中断,这样理论上也可以,但是要修改底层逻辑

  • MCAL CAN模块的配置

    7
    0 赞同
    7 帖子
    964 浏览
    houjun_xiaoH

    1.看看开发板上跳线J10是否正确连接;
    2.你也可以断开J32自己接一个模拟信号到PTA0上,用于Adc采集。

  • SPIDeinit之后 出现hardfault_handler问题

    4
    0 赞同
    4 帖子
    799 浏览
    FrankF

    没有影响,后续版本会解决的

  • mcal ADC硬件触发和软件触发混用DEMO

    14
    0 赞同
    14 帖子
    2k 浏览
    SSEZKXS

    不是的,我们的单电阻电机demo就是这样操作的,ADCHW触发,step采样完成后,切换成ADCSW触发,continue采样,完成后切换回ADCHW触发,是这个意思吧,ME0是这样做的,别的芯片也一样,寄存器操作有细微区别

    void HW_SetupAdcSeq1Mode(const uint8_t *channels, uint8_t channel_cnt, const isr_t adcISR) { ADC_Type *base = ADC0; /* Setup adc configuration */ base->CFG0 = ((channel_cnt - 1) & 0xFU) << ADC_CFG0_SEQLEN_SHIFT | /* Sequence length */ ADC_CFG0_DISCEN(1U) | ADC_CFG0_CONT(0U) | ADC_CFG0_TRIGMD(1U); base->CFG1 = ADC_CFG1_STCNT(32U) | ADC_CFG1_PRS(0); /* Start time count */ base->SMP = ADC_SMP_SMP(1U); /* Sample time */ /* Configure sequence 0 channels for current sensing */ ADC0->CHSEL[0] = ADC_CHSEL_CHSEL(ADC_V_PHASE_CHANNEL); ADC0->CHSEL[1] = ADC_CHSEL_CHSEL(ADC_V_PHASE_CHANNEL); base->INTE = ADC_INTE_EOSEQIE(1U); /* Enable end of sequence interrupt */ INT_SYS_InstallHandler(ADC0_IRQn, adcISR, NULL); INT_SYS_EnableIRQ(ADC0_IRQn); base->CTRL = ADC_CTRL_ADEN(1U); /* Enable ADC */ base->CTRL |= ADC_CTRL_ADSTART(1U); /* Start ADC */ while(!(base->STS & ADC_STS_ADRDY_MASK)); /* Wait for ADC ready */ } void HW_SetupAdcSeq2Mode(const uint8_t *channels, uint8_t channel_cnt, const isr_t adcISR) { ADC_Type *base = ADC0; /* Setup adc configuration */ base->CFG0 = ((channel_cnt - 1) & 0xFU) << ADC_CFG0_SEQLEN_SHIFT | /* Sequence length */ ADC_CFG0_CONT(0U) | ADC_CFG0_DISCEN(0U) | ADC_CFG0_TRIGMD(0U); base->CFG1 = ADC_CFG1_STCNT(32U) | ADC_CFG1_PRS(0); /* Start time count */ base->SMP = ADC_SMP_SMP(16U); /* Sample time */ for (int i = 0; i < channel_cnt; i++) { base->CHSEL[i] = ADC_CHSEL_CHSEL(channels[i]); /* Setup channel */ } base->INTE = ADC_INTE_EOSEQIE(1U); /* Enable end of sequence interrupt */ INT_SYS_InstallHandler(ADC0_IRQn, adcISR, NULL); INT_SYS_EnableIRQ(ADC0_IRQn); base->CTRL = ADC_CTRL_TSEN(1U) | /* Enable temperature sensor */ ADC_CTRL_ADEN(1U); /* Enable ADC */ base->CTRL |= ADC_CTRL_ADSTART(1U); /* Start ADC */ while(!(base->STS & ADC_STS_ADRDY_MASK)); /* Wait for ADC ready */ } uint8_t ADCTrgCnt = 0U; void Motor_AdcFOCISR(void) { // GPIOE->PSOR = 1 << 10; /* Clear the interrupt flag */ MC_ADC->STS = ADC_STS_EOSEQ_MASK; if(ADCTrgCnt == 0U) { CIM->SWTRIG = CIM_SWTRIG_SWT(1U) | CIM_SWTRIG_SWTCNT(0U); /* User code */ ADCTrgCnt = 1; HW_SetupAdcSeq2Mode(motorAdcFocUserSample2, 2, Motor_AdcFOCISR); } else { /* User code */ HW_SetupAdcSeq1Mode(motorAdcFocUserSample1, 2, Motor_AdcFOCISR); ADCTrgCnt = 0U; } // GPIOE->PCOR = 1 << 10; }
  • USING_OS_AUTOSAROS 宏定义设置

    2
    0 赞同
    2 帖子
    889 浏览
    xianghanX

    不是,它属于 RTE层,我们的YCT无法配置

  • YTM32B1MC03 内部看门狗使用

    25
    0 赞同
    25 帖子
    6k 浏览
    swustS

    你主程序中是do while(1),lptmr唤醒喂狗后立刻又会再次进入低功耗,之间时间太短指令还未生效,需要预留125us以上的生效时间。

  • YTM32B1ME05 MCU休眠问题

    4
    0 赞同
    4 帖子
    1k 浏览
    EkkoE

    这些 都关掉了的

  • mca添加FLASH扇区有什么便捷的方式吗,只能一个一个添加吗

    2
    0 赞同
    2 帖子
    1k 浏览
    houjun_xiaoH

    这里配置的虚拟sector只能一个一个加,但是配置的虚拟sector可以包含多个硬件的扇区,如下所示。
    image.png

  • 云途开发生态介绍

    快速上手云途开发生态

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YT CONFIG TOOL调查问卷

    帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

  • Online Users