风雪小诺 发表于 2022-5-9 14:32

KF32A15的can fd作为普通的Can

想要用canfd_6作为普通的can收发通信。500K波特率。想问下需要什么特别的配置么 还是可以直接用官方canfd例程直接改波特率即可

风雪小诺 发表于 2022-5-9 14:37

大搞有两个问题:用的是KF32A156_ CANFD_ TRANSMIT_POLLING
1.波特率官方没有写设置成多少分辨率:怎么配置成都是500K呀,md写的是默认波特率为仲裁段1Mbps,数据段2Mbps
Can_m_FdControllerInit(CANfd6, Canfd_Controller_AllConfig,Initindex_0);
--》        /* Set CAN Default baudrate */
        Can_m_FdBaudrateSet(Can_Controller_Index, Can_ControllerConfig,0);
-------》const Can_Controller_BDRConfigType Canfd_Controller_AllClockAndBDRConfig = {
        /* Default 1M hz */
        /* Clock and bandrate config 0 : Index 0 */
        {
                5U,                                /* Prescale */
                1U,                                /* Swj */
                14U,                        /* Tseg1 */
                3U,                                /* Tseg2 */
                CAN_SAMPLE_ONCE /* Sample time */
        },
};
2.如何配置成普通can进行发送,接收?
Can_m_FdMailBox_Write(CANfd6, Mailbox_0, &Canfd_Sdu.Can_MailboxHeader);
--》Canfd_Sdu_Type Canfd_Sdu =
{
        {
                {
                        {
                                {
                               0x00,
                               0x01,
                               0x02,
                               0x03,
                               0x04,
                               0x05,
                               0x06,
                               0x07,
                       },
                       Data_Length_8},//
                        0x100,
                        0x000,
                        CANFD_BRS_DISABLE,//比特率切换。决定在发送 CAN FD 帧时是否切换比特率。0 表示不切换,1 表示切换

                        CAN_FRAME_CLASSICAL,//作为can帧格式不是can fd格式
                        CAN_ID_STANDARD,//作为标准帧格式

                        MAIL_TRANSMIT,//邮件发送
                },
        },
        1,
};

风雪小诺 发表于 2022-5-9 14:57

canfd.c
主要的应该是这两个配置么?但是并没有0.
Can_ControllerConfigType Canfd_Controller_AllConfig = {               
&Canfd_Controller_AllClockAndBDRConfig,
                &Canfd_Controller_ALLFdBDRConfig,
}

const Can_Controller_BDRConfigType Canfd_Controller_AllClockAndBDRConfig = {
        /* Default 1M hz */
        /* Clock and bandrate config 0 : Index 0 */
        {
                5U,                                /* Prescale */
                1U,                                /* Swj */
                14U,                        /* Tseg1 */
                3U,                                /* Tseg2 */
                CAN_SAMPLE_ONCE /* Sample time */
        },
};


const Can_FdBDRConfigType Canfd_Controller_ALLFdBDRConfig = {
        /* config 0 */
        {
                2U,       /* Prescale */
                14U, /* Tseg1 */
                3U,       /* Tseg2 */
        },
};

andygirl 发表于 2022-5-11 21:06

can的休眠与唤醒有几种形式?

littlelida 发表于 2022-5-12 21:09

can的应用一直以为只是通信,现在发现还有很多其他的

yangxiaor520 发表于 2022-5-13 08:58

可以工作在CAN模式的,至于通信速率和通信距离有关系。

MllM 发表于 2022-5-13 14:48

神啊,KF32A141的CAN有用过吗?怎么都调不通啊
页: [1]
查看完整版本: KF32A15的can fd作为普通的Can