Part Number:TMS320F2800137Other Parts Discussed in Thread:C2000WARE, ISO1050
我使用的开发版本是CCS12版本。使用的是官网上的demo板。根据官网提供的例程进行操作,在初始化芯片和GPIO引脚之后,进行CAN模块的配置,发现CAN_BTR寄存器无法写入。而CAN_CTL寄存器也无法也有一些位无法操作,比如说CCE位,该位应该在CAN_initModule()函数里面就调用了。我这边以为是CAN时钟无法配置导致的,但是在Device_init()之后,可以看到CAN的外设时钟已经打开。还有一个是,尝试过,直接操作CAN_BTR也无法操作。
?? ?:
I asked the question in Chinese and I hope there are technicians who can answer it
,
?? ?:
我使用F280049,同样的流程,可以初始化CAN,也可以使用CAN_BTR寄存器;所有,我怀疑是F2800137的Decive_Init()这个函数有问题
,
Ben Qin:
你好,你参考的是哪个例程,试过这个例程吗?C:\ti\c2000\C2000Ware_4_03_00_00\driverlib\f280013x\examples\can ex1.
?? ? 说:所有,我怀疑是F2800137的Decive_Init()这个函数有问题
可以指出具体位置吗?
,
?? ?:
关于CAN例程里面的所有demo,can_ex1_loopback我没有试过,因为我没有找到board.h这个文件,不过我在屏蔽掉board.h这个文件和相关的函数后,也试过了,但是没有用。在查看CAN_BTR寄存器的时候,该寄存器都无法初始化。我使用的demo板是绿色的,主控是F2800137,焊接了CAN芯片使用的CAN芯片是iso1050。VCC1接3.3;VCC2接板子上的5V然后TX与F2800137的CANRX引脚连接,RX与F2800137CANTX引脚引脚连接GND都接板子上的地。不管是否有CAN芯片,在初始化CAN外设的时候,都应该可以配置寄存器CAN_BTR才对。
,
?? ?:
我调用的工程是从这个文件夹里面提取出来的
,
Ben Qin:
你是直接将文件复制进工程的吗?
你可以直接导入工程试一下吗?
,
?? ?:
是的,复制新建工程
,
Ben Qin:
你遇到的这个问题很少见,我们这边手头也没有相关的板子进行测试。
?? ? 说:所有,我怀疑是F2800137的Decive_Init()这个函数有问题
关于这个函数,我对比了一下2800137的和280049的,两者CAN部分的函数是相同的,所以应该不是这个函数的问题。
C2000ware的例程都是经过官方验证才发布的,应该不会出现寄存器无法配置的情况。
现在只能推测是硬件出了问题。可以换一块F2800137试一试吗?同时建议导入例程是直接导入整个工程,不要将文件复制到现有工程。
,
?? ?:
我手上还有两块F2800137,等有时间会验证一下;这个问题确实是很少见的。希望是软件的问题或者是只是这个芯片出问题了,我这边硬件设计方案已经基本完成了,如果没法解决,可能要换方案。
,
Ben Qin:
你好,验证结果怎么样?
,
?? ?:
验证了两块板子,寄存器CAN_BTR都无法写入
,
?? ?:
你那边是否验证一下能否初始化。红色的板子没有验证,因为使用XDS100V3无法连接验证,同时使用XDS110,查看设备管理器,已经显示出来了,但是暂时没法使用
,
Ben Qin:
?? ? 说:你那边是否验证一下能否初始化
我们手边暂时没有这块板子。
?? ? 说:验证了两块板子,寄存器CAN_BTR都无法写入
我咨询下相关资深工程师,一旦有回复会立即回复您。
,
Ben Qin:
你好,似乎代码没有引用正确的 CAN peripheral地址。如果在 CCS Register 视图中写入这些 CAN 寄存器是否成功?
?? ? 说:你那边是否验证一下能否初始化
工程师那边是可以的。
,
?? ?:
部分寄存器可以,比如说CAN_CTL控制寄存器就可以写入
,
Ben Qin:
已向工程师跟进。