请教dsPIC30f使用内部时钟如何设置CAN波特率!?

2020-02-08 09:16发布

单片机内部快速振荡器标称值7.37MHz,CANCKS = 1,TQ = 16,求教要怎么样可将CAN波特率设置为125kHz? 波特率配置寄存器C1CFG1中的BRP<5:0>怎么样配置?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
gaolf_2000
1楼-- · 2020-02-08 14:14
//我用32M,你参考一下吧
// FCAN = Fcy = 32 MHz. TQ = 16. Prescale = 16, Data Rate = FCAN/(TQ * pre) = 32MHz/(16*16) = 125 kHz.
                        C1CTRL1bits.CANCKS = ECAN_FCAN_IS_FCY; // CANCKS = 1, sets FCAN = Fcy = 40 MHz
                        //16 TQ for a bit time. 16 = Sync(1) + Prop seg (5) + Seg1 (5) + Seg2 (5)
                        C1CFG2 = ECAN_NO_WAKEUP |
                                        ECAN_SAMPLE_3TIMES |      //sample three times at sample point
                                        ECAN_SEG1PH_5TQ |         //seg1 = 8 TQ
                                        ECAN_SEG2_PROGRAMMABLE |  //seg2 is programmable
                                        ECAN_SEG2PH_5TQ |         //seg2 = 6 TQ
                                        ECAN_PRSEG_5TQ;           //propagation delay segment = 5 TQ

                        C1CFG1 = ECAN_SYNC_JUMP_4 |    //use maximum sync jump width
                                        ECAN_PRE_2x8;         //prescalers to 2x8
gaolf_2000
2楼-- · 2020-02-08 17:05
忘说了,我使用的是dspic33f.
1521732588
3楼-- · 2020-02-08 18:05
回复【楼主位】flyingswing
-----------------------------------------------------------------------

用的具体哪颗片子
1521732588
4楼-- · 2020-02-08 22:00
 精彩回答 2  元偷偷看……
sucan007
5楼-- · 2020-02-09 00:36
怎么配成8M?  他的钟振是7.3728M的啊, 换成8M的吗?

一周热门 更多>