本篇开始讲解FlexCAN的使用方法,采用SDK自动生成驱动。
新建工程CAN_Test,具体步骤不再重复,新建完毕,打开Processor Expert界面,在Components Library中添加flexcan,添加时会自动增加辅助模块(若是没有禁用其它版本SDK,则会弹出提示,此处会有多个版本供选择,不同版本兼容性可能有问题)。
添加完,在Components中我们可以看到多了三个组件,其中2个为参考组件。
接下来,我们要进行配置。
1、配置FlexCAN的IO,选中pin_mux模块,然后在Components Inspector - pin_mux中,设置CAN0的收发引脚。
2、配置时钟,选中clockMain1,在Components Inspector - clockMain1中将外设桥时钟设为50MHz。
3、配置CAN,将PE clock source设置为Peripheral clock,为了确保波特率误差小,PE时钟最好不要太低。另外注意,此处不能设置波特率,默认都是500Kbps,若要调整,只能在代码中手动设置,设置方法较为复杂。
其它不做配置,直接生成代码。
我们不使用CAN中断,采用轮询方式,一般为确保实时性,最多使用一个定时器中断作为任务分配计时,不过多使用中断。