跳转至内容

YTM32B1M系列

Questions about YTM32B1M seires

537 主题 2.5k 帖子
  • YTM32B1ME0 RTC SDK Demo 不能写入RTC SEC寄存器

    3
    0 赞同
    3 帖子
    501 浏览
    wuxuedongW

    谢谢,实际上我基本上没有修改源码

  • 0 赞同
    7 帖子
    666 浏览
    曹文勋

    run 在 CAN的DMA 是否会在 SPI DMA运行时有概率出现无法进入DMA中断现象,无法进入CAN DMA接收完成中断 中说:

    曹文勋 在 CAN的DMA 是否会在 SPI DMA运行时有概率出现无法进入DMA中断现象,无法进入CAN DMA接收完成中断 中说:

    我看你也是做了临界区的判断,这个是新的patch嘛,
    请教一下下面的操作是做什么用处?
    while ((base->CTRL & DMA_CTRL_ACTIVE_MASK) != 0)
    {
    timeout--;
    if (timeout <= 0)
    {
    break;
    }
    }

    看描述的现象确实像临界区设置被重入出的问题。

    这个修改主要是DMA REQEN 可以硬件清除,所以读 / 更改 / 写操作可能会导致错误地再次启用DMA通道。
    如果是CAN的接收的话,可能会再次启动接收。
    SDK 1_3_1 HOTFIX 版本中有做修复。

    如果不是这里的问题,可以再看看是不是其他地方临界区被重入了。

    收到,感谢

  • 0 赞同
    3 帖子
    510 浏览
    wang_zhi-neuW

    run 十分感谢!!!!!!!!!!!!

  • YTM32B1MC0系列,在使用math.h中的函数时编译错误

    6
    0 赞同
    6 帖子
    789 浏览
    FrankieF

    jin15079866825 建议提问之前在论坛里搜索一下是否有类似问题。

  • 请问下怎么把PRINTF重定向到UART2输出到PC

    2
    0 赞同
    2 帖子
    473 浏览
    DigaD

    记得使能对应的模块时钟,并配置 UART 引脚
    image.png

  • ME 64PIN ADC 配置选择ADC1 提示channel 4 通道无法使用

    7
    0 赞同
    7 帖子
    853 浏览
    DigaD

    下个版本会修复该问题

  • YTM32B1MC0系列的eTMR1解码器计数器溢出中断的中断号是多少?

    3
    0 赞同
    3 帖子
    547 浏览
    jin15079866825J

    Frankie

    intCtrl 这里中断已经开启了
    d76fe0f3-ff40-4ebd-8471-2f35d5453915-image.png

    eTMR这里 Overflow interrupt Enable也已经勾选了
    80ebd940-9b50-4fa3-a436-f46dcea930d0-image.png

    QD这里也设置了
    5aa6a8de-cdf5-4c78-9ed5-da0dfb297c19-image.png

    4.中断服务函数也写了
    042ead40-d053-4190-96ac-0e0b2e94e9d0-image.png

  • YTM2B1MD1-EVB Q100开发板相关问题

    2
    -1 赞同
    2 帖子
    492 浏览
    houjun_xiaoH

    1 处的电源输入可以为12V,注意选择外部供电时,条线J3需保持1-2跳接。EVB的原理图在我们YT config工具中都可以下载。
    image.png

  • 关于LE05 RAM溢出的问题

    1
    0 赞同
    1 帖子
    282 浏览
    尚无回复
  • SPI作为从机,在接收数据时,随机会向SO总线发送0xFF;

    4
    0 赞同
    4 帖子
    617 浏览
    FrankF
    频率较高时,需要排除线路上的干扰。另外可以用示波器打一下出现问题时slave侧的信号质量,跟通信正常时的波形做一个比较。 如果是HA0芯片,还需要看下代码中是否做了cache一致性的操作。
  • 0 赞同
    1 帖子
    322 浏览
    尚无回复
  • YTM32B1MC 内部温度传感器例程

    9
    0 赞同
    9 帖子
    1k 浏览
    xuechaoX

    谢谢,感谢解答。

  • MC BOOTloader例程测试升级上位机

    2
    0 赞同
    2 帖子
    492 浏览
    ganyongchaoG

    输入start命令即可

  • datasheet能提供Rθjc吗?

    1
    0 赞同
    1 帖子
    295 浏览
    尚无回复
  • 0 赞同
    4 帖子
    582 浏览
    庄猛峰

    Diga 方便远程协助一下吗 是我遇到了这个问题

  • 0 赞同
    6 帖子
    734 浏览
    FollowF

    run #include "sdk_project_config.h"
    /* Includes ------------------------------------------------------------------*/

    /* Private includes ----------------------------------------------------------/
    / USER CODE BEGIN Includes /
    / USER CODE END Includes */

    /* Private typedef -----------------------------------------------------------/
    / USER CODE BEGIN PTD /
    / USER CODE END PTD */

    /* Private define ------------------------------------------------------------/
    / USER CODE BEGIN PD /
    #define UART_TX_RX_SIZE (8)
    #define INST_UART (0)
    / USER CODE END PD */

    /* Private macro -------------------------------------------------------------/
    / USER CODE BEGIN PM /
    / USER CODE END PM */

    /* Private variables ---------------------------------------------------------/
    / USER CODE BEGIN PV */
    uint8_t g_RecData[UART_TX_RX_SIZE];

    #define UART_RX_LENGTH (20)
    volatile bool g_rxComplete = false;
    volatile bool g_txComplete = false;
    uint8_t g_uartRxBuffer[UART_RX_LENGTH] = { 0 };
    /* USER CODE END PV */

    /* Private function declare --------------------------------------------------/
    / USER CODE BEGIN PFDC /
    / USER CODE END PFDC */
    static void Board_Init(void);

    /* Private user code ---------------------------------------------------------/
    / USER CODE BEGIN 0 /
    / Uart rx callback function */
    void uart_RX_Callback(void *uartState, uart_event_t event, void userData)
    {
    (void)userData;
    (void)uartState;
    if (UART_EVENT_END_TRANSFER == event)
    {
    / Note: Debug output inserted into interrupt routine for demo clarity. Might introduce delay. /
    PRINTF("Data Received: ");
    for (int i = 0; i < UART_RX_LENGTH; i++)
    {
    PRINTF("%x ", g_uartRxBuffer[i]);
    }
    PRINTF("\n\r");
    }
    else if (UART_EVENT_ERROR == event)
    {
    / error happened */
    }
    }

    void uart_TX_Callback(void *uartState, uart_event_t event, void userData)
    {
    (void)userData;
    (void)uartState;
    if (UART_EVENT_END_TRANSFER == event)
    {
    / Note: Debug output inserted into interrupt routine for demo clarity. Might introduce delay. */
    PRINTF("Data sent.\n");
    }
    }

    /* USER CODE END 0 */

    /**

    @brief The application entry point.

    @retval int
    /
    int main(void)
    {
    / USER CODE BEGIN 1 /
    status_t status = STATUS_SUCCESS;
    / USER CODE END 1 /
    Board_Init();
    / USER CODE BEGIN 2 */
    PRINTF("Build %s %s\r\n", DATE, TIME);
    PRINTF("Linflexd Uart Interrupt Demo!\r\n");

    LINFlexD_UART_DRV_InstallRxCallback(INST_UART, uart_RX_Callback, NULL);
    LINFlexD_UART_DRV_InstallTxCallback(INST_UART, uart_TX_Callback, NULL);
    /* USER CODE END 2 */

    /* Infinite loop /
    / USER CODE BEGIN WHILE */
    while (1)
    {

    status |= LINFlexD_UART_DRV_ReceiveData(INST_UART, g_RecData, UART_TX_RX_SIZE); //PRINTF("\r\n g_RecData: %c",g_RecData); /* Wait for reception to complete */ // while (!g_rxComplete) // ; /* Send received data */ // status |= LINFlexD_UART_DRV_SendData(INST_UART, g_RecData, UART_TX_RX_SIZE); /* Wait for sending to complete */ // while (!g_txComplete) // ; // PRINTF("\r\n g_RecData: %c",g_RecData);

    // g_txComplete = false;
    // g_rxComplete = false;

    if (status != STATUS_SUCCESS) { //break; } /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */

    }
    /* USER CODE END 3 */
    }

    static void Board_Init(void)
    {
    CLOCK_SYS_Init(g_clockManConfigsArr,CLOCK_MANAGER_CONFIG_CNT,g_clockManCallbacksArr,CLOCK_MANAGER_CALLBACK_CNT);
    CLOCK_SYS_UpdateConfiguration(CLOCK_MANAGER_ACTIVE_INDEX,CLOCK_MANAGER_POLICY_AGREEMENT);
    PINS_DRV_Init(NUM_OF_CONFIGURED_PINS0,g_pin_mux_InitConfigArr0);
    UTILITY_PRINT_Init();
    LINFlexD_UART_DRV_Init(0, &linflexd_uart_config0_State, &linflexd_uart_config0);
    }
    程序正常跑起来的,没有进入DefaultISR了,串口是有发送数据的,用逻辑分析仪是能看到的,但是就是接收不到,麻烦帮我看看我的YCT和代码,哪个地方配置错了,谢谢Linflexd_Uart_Interrupt_Demo.yct

  • UART进入错误中断

    5
    0 赞同
    5 帖子
    694 浏览
    FrankF

    最高配置为1。至于影响只有结合实际应用去评估和平衡了。

  • 请问一下MD1系列,在什么应用场景下电流是400ma呢?

    3
    0 赞同
    3 帖子
    547 浏览
    RyanGR

    xianghan 好的,感谢支持

  • YTM32B1MC0 FlexCan busoff问题

    3
    0 赞同
    3 帖子
    1k 浏览
    YTCQ_shejiwangY

    CANH,CANL短接,CANH对地短路,收发设备上看不到错误帧是正常的。
    因为:在只有一个节点的情况下,虽然CANH/CANL短路会影响信号的电压,但发送节点仍然会按照协议尝试发送报文,甚至产生BUSOFF。没有其他节点参与仲裁或应答,所以不会产生位错误、填充错误、CRC错误或应答错误。
    要想看到错误帧,需要使用干扰仪;或者总线上再挂一个节点。

  • IAR中无法使用stack的相关功能

    3
    0 赞同
    3 帖子
    547 浏览
    lisiL

    xianghan 谢谢

  • 云途开发生态介绍

    快速上手云途开发生态

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YT CONFIG TOOL调查问卷

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

  • Online Users