TMS320F2812 CAN通信初始化与例程
需积分: 9 199 浏览量
更新于2024-11-13
收藏 9KB TXT 举报
"TMS320F2812_CAN是一个关于TMS320F2812微控制器的CAN(Controller Area Network)通信例程。该例程包括了500Kbps的传输速率配置和静默模式设置。"
在微控制器应用中,CAN总线是一种广泛应用的串行通信协议,特别适合于车辆和工业自动化中的多节点通信。TMS320F2812是Texas Instruments(TI)公司生产的一款高性能浮点数字信号处理器,它内置了CAN接口,能够方便地实现CAN通信。
在这个例程中,我们首先看到一些包含的头文件,如"DSP28_Device.h",这是TI为TMS320F2812提供的一组系统控制相关的定义和函数。接下来是一些全局变量声明,如`j`, `i`, `temp`, `can_rev1`, `can_rev2`, `can_rev3`,它们可能用于存储数据或作为循环计数器。
在例程的初始化部分,有多个函数被调用:
1. `InitSysCtrl()`:这个函数用于设置系统的时钟和其他基本控制,确保微控制器能正常工作。
2. `DINT`:这个指令用于关闭中断,防止在初始化过程中发生意外的中断事件。
3. `InitPieCtrl()` 和 `InitPieVectTable()`:这两个函数与中断处理有关,`InitPieCtrl()` 初始化外围中断控制器(Peripheral Interrupt Controller, PIE),`InitPieVectTable()` 配置中断向量表,使得处理器知道如何响应特定的中断事件。
4. `InitECan()`:这是CAN模块的初始化函数,它将设置CAN控制器的参数,如波特率、接收和发送邮箱等。
在主函数`main()`中,我们看到对中断处理的配置,例如:
- `PieCtrlRegs.PIEIER9.bit.INTx5=1;` 这行代码启用了ECAN0中断,即中断9.5。
- `IER=IER|0x0100;` 启用CPU的中断9。
- `EINT;` 和 `ERTM;` 分别开启全局中断和实时监控模式。
最后,`InitECan()`函数的调用是关键,它将设置CAN的相关参数,如配置MBOX0和MBOX15作为接收和发送邮箱,以及设置500Kbps的波特率和静默模式。在实际应用中,用户可能会根据具体需求修改这些参数。
这个例程为使用TMS320F2812进行CAN通信提供了基础框架,开发者可以通过它了解如何配置和操作微控制器的CAN接口,以便进行更复杂的通信任务。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-10-01 上传
2022-09-20 上传
2022-07-14 上传
2013-03-09 上传
2022-09-19 上传
2022-09-19 上传
x30402
- 粉丝: 0
- 资源: 2
最新资源
- sicherheit_ws:安全概念讲习班
- Bregman Cookbook:此工具箱提供基于 Bregman Iterations 的信号/图像/3D 处理-matlab开发
- 下一个大学
- fccWebDesign:在此仓库内,有我为在线课程(在freeCodeCamp上进行的响应式Web设计认证)制作的项目
- dchr.host:端到端K8s CICD练习
- 4ampr-fj2021-paginas-web-semana-03:专业人士
- Accuinsight-1.0.36-py2.py3-none-any.whl.zip
- vicms:用于python-flask的迷你内容管理架构
- Atcoder
- Pure
- irawansyahh.github.io:我的个人网站
- ask:一种在 Node 或浏览器中构建 HTTP 请求的简单、可链接的方式
- Dark Crystals New Tab Game Theme-crx插件
- 库存-REST-API:REST APIのテスト
- JavascriptVerletAlgorithm
- antiwasm:Web程序集objdump