查看: 2596|回复: 1

[已解决] FRDM-KEAZ128 的MC33903 WatchDog設置

[复制链接]
  • TA的每日心情

    2019-1-19 16:32
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    23

    主题

    113

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    1267
    最后登录
    2022-3-31
    发表于 2017-9-13 16:13:25 | 显示全部楼层 |阅读模式
    請問要如何開啟MC33903的WatchDog的功能呢,
    我看了Datasheet、AN4770後配置的WatchDog沒有啟動
    main內沒有feed dog,Reset pin都沒拉LOW過

    uint8_t spi_SBC_INIT_SEQ_PART0[2]={0xDF, 0x80};            /* Read Vreg register H */
    uint8_t spi_SBC_INIT_SEQ_PART1[2]={0x5A, 0x00};            /* Enter in Normal mode */
    uint8_t spi_SBC_INIT_SEQ_PART2[2]={0x5E, 0x90};            /* Enable 5V-CAN and Vaux regulators */
    uint8_t spi_SBC_INIT_SEQ_PART3[2]={0x60, 0xC0};            /* Set CAN in TxRx mode, fast slew rate */
    uint8_t spi_SBC_INIT_SEQ_PART4[2]={0x66, 0xC4};            /* Set LIN1 in TxRx mode, slew rate 20kb/s, LIN term ON */
    uint8_t spi_data_receive16bit[2]={0, 0};

    uint8_t spi_SBC_INIT_SEQ_PART5[2]={0x52, 0x40}; //change mode init mode
    uint8_t spi_SBC_INIT_SEQ_PART6[2]={0x4A, 0x80}; //init reg
    uint8_t spi_SBC_INIT_SEQ_PART7[2]={0x50, 0x00}; //init misc
    uint8_t spi_SBC_INIT_SEQ_PART8[2]={0x40, 0x40}; //init wdog
    uint8_t spi_SBC_INIT_SEQ_PART9[2]={0x54, 0x1F}; //set TIM_A

    void Enable_SBC()
    {

    int i = 0;
    FGPIOA->PSOR  = GPIO_PTD3_MASK;
    FGPIOA->PDDR |= GPIO_PTD3_MASK;

    // Delay 500ms for waitting VBAT is stable
    delay = 500;
    while( delay > 0 ) ;

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART0,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);


    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART1,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART2,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART3,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART4,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART5,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);  

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART6,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART7,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART8,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART9,2);
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    FGPIOA->PCOR = GPIO_PTD3_MASK;
    SPI_TransferWait(SPI1,spi_data_receive16bit,spi_SBC_INIT_SEQ_PART1,2); //fed wdog
    FGPIOA->PSOR = GPIO_PTD3_MASK;
    for(i=0;i<100;i++);

    }

    最佳答案

    非常感谢你的技术问题。我们建议您将此技术问题提交到恩智浦的英文论坛。网址是http://community.nxp.com/welcome谢谢。
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24849
    最后登录
    2025-7-17
    发表于 2017-9-14 09:50:48 | 显示全部楼层
    非常感谢你的技术问题。我们建议您将此技术问题提交到恩智浦的英文论坛。网址是http://community.nxp.com/welcome谢谢。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-17 19:08 , Processed in 0.087467 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表