This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
工具使用:CCS、HALCOGEN
问题:在 HALCOGEN 中为 Mibspi 的 TMS570LC43xx 提供的示例不起作用
按照示例文件中给出的方法执行所有配置。
/**@example example_mibspi_loopback.c *这是一个示例,描述了创建 Mibspi 环回检查 的步骤* @b Step @b 1: * 创建新项目。 * *导航:->文件->新建-> Project * @image html example_createProject.jpg "图:创建新项目" * @b Step @b 2: * 配置驱动程序代码生成: *-启用 MIBSPI 1至5驱动程序 *-禁用其他 * 导航: -> TMS570Sxx /RMxx ->启用驱动程序 * @b Step @b 3: * 启用中断 *-在 MIBSPI VIM 通道选项卡中启用所有 MIBSPI 中断。 * *@b Step @b 4: * 配置 MIBSPI *-将传输组配置保留为默认配置 * *@image html example_mibspi_config.jpg "图:配置 MIBSPI" *@b Step @b 5: * * Generate code * 导航:-> File -> Generate Code * @image html generateCode.jpg "图: 生成代码" * @b 步骤@b 6: * *将以下源代码复制到 sys_main.c (或)中,用此文件替换 sys_main.c。 * *示例文件 example_mibspi_loopback.c 也可以在示例文件夹中找到:./HALCoGen/examples * *@注意 HALCoGen 在 sys_main.c 中生成一个空的主函数 * */ /*(c) Texas Instruments 2009-2013、保留所有权利。 */ * 版权所有(C) 2009-2015德州仪器(TI)公司- www.ti.com * * *只要 符合以下条件*,就允许以源代码和二进制形式重新分发和使用,无论是否进行*修改: * *源代码的重新分发必须保留上述版权 声明*、此条件列表和以下免责声明。 * *二进制形式的再发行必须在 * 发行版随附的*文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。 * *未经 事先书面许可、不得使用德州仪器公司的名称或*其贡献者的名称认可或推广从本软件派生的产品*。 * *本软件由版权所有者和贡献者 *按原样"提供、 且不承认任何明示或暗示的保证、包括但不限于*特定用途*的适销性和适用性的暗示保证。 在任何情况下、版权 *所有者或贡献者都不对任何直接、间接、偶然、 *特殊、模范、 或相应的损害、包括但不 限于*采购替代产品或服务;丧失使用、 *数据或利润; 或因 使用 本软件而引起的任何*责任理论(无论是合同、严格责任还是侵权行为*、包括疏忽或以任何方式使用本软件*而引起的)或业务中断、即使被告知可能会造成此类损坏。 * / *用户代码开始(0)*/ *用户代码结束* /*包含文件*/ #include "hl_sys_common.h" #include "hl_system.h" //用户代码开始(1)*/ #include "hl_mibspi.h" #include "hl_sys.h"#include "hl_system.h"/*用户代码开始(1)* /#include "hl_int8、13、tx 8、t_uint8、16、tx、t1、16、tx、tx 4、t_uint1、13、t1、t1、t1、t_u4、16、16、tx 4、t1、t1、t1、tx 4、t1、16、t1、t1、tx 4、tx 3、 uint16 TX_data3[D_count]={21、22、23、24、25、Rx 26、28}; uint16 TX_data4[D_count]={31、32、33、34、36、 36、36、37、38};uint16 TX_data5[D_rx count]={41、3、45、46、47、48}; uint16_uinta1 = {uint4}uinta1 ={uint4}uint_uint4};uint4 ={uinta1 ={uint_rx 4}uint_uint4}uint4}uint_uint_rx ={uint4}uint_rx ={uint4}uint_rx 4 ={uinta1 ={uint4}uint_u /*用户代码结束*/** @fn void main (void) *@简短应用程序主函数 *@注意默认情况下,此函数为空。 * *此函数在启动后调用。 *用户可以使用此函数来实现应用程序。 */ /*用户代码开始(2)*/ /*用户代码结束*/ void main (void) {// *用户代码开始(3)*/ /*在*/中启用 IRQ 中断 _enable_IRQ_interrupt_(); /**初始化 MIBSPI */ mibspiInit(); mibspiEnableLoopback (mibspiREG1、Digital_LBK); mibspiEnableLoopback (mibspiREG2、Digital_LBK); mibspiEnableLoopback (mibspiREG3、Digital_LBK); mibspiEnableLoopback (mibspiREG4、Digital_LBK); mibspiEnableLoopback (mibspiREG5、Digital_LBK); mibspiEnableGroupNotification (mibspiREG1、0、1); mibspiEnableGroupNotification (mibspiREG2、0、1); mibspiEnableGroupNotification (mibspiREG3、0、1); mibspiEnableGroupNotification (mibspiREG4、0、1); mibspiEnableGroupNotification (mibspiREG5、0、1); mibspiSetData (mibspiREG1、0、&TX_data1[0]); mibspiSetData (mibspiREG2、0、&TX_data2[0]); mibspiSetData (mibspiREG3、0、&TX_data3[0]); mibspiSetData (mibspiREG4、0、&TX_data4[0]); mibspiSetData (mibspiREG5、0、&TX_data5[0]); mibspiTransfer (mibspiREG1、0); mibspiTransfer (mibspiREG2、0); mibspiTransfer (mibspiREG3、0); mibspiTransfer (mibspiREG4、0); mibspiTransfer (mibspiREG5、0); while (1){}; /*用户代码结束*/ } /*用户代码开始(4)*/ *可以中断通知*/ void mibspiGroupNotification (mibspi_t * mibspi、uint32 group) { uint16 * data; //节点1 -传输请求*/ if (mibspi=mibspiREG1) { 数据=&Rx_data1[0]; } if (mibspi=mibspiREG2) { 数据=&Rx_data2[0]; } if (mibspi=mibspiREG3) { 数据=&Rx_data3[0]; } if (mibspi=mibspiREG4) { 数据=&Rx_data4[0]; } if (mibspi=mibspiREG5) { 数据=&Rx_data5[0]; } mibspiGetData (mibspi、组、数据); }/* 用户代码结束*/
当您使用 HALCoGen 生成项目时、您是否遵循了帮助主题中描述的步骤:
您需要启用中断:
-启用 MIBSPI VIM 通道选项卡中的所有 MIBSPI 中断。
感谢您的快速回复。
我已经按照示例中给出的所有说明进行了操作。 我们必须启用 VIM 通道中的高中断还是低中断?
我正在检查 TMS570LC43X Launchpad 上名为1SIMO、1CLK 的引脚上的波形。 引脚是否正确?
您好!
是的、ICLK 和1SIMO 为 MibSPI1CLK 和 MibSPI1SIMO。 我刚刚测试了代码、它按预期工作。
随附的是 mibspi conf 文件:
您好!
再次使用 注释掉的 mibspiEnableLoopback 函数测试了代码。
它按预期工作。
谢谢、此致、
Shounak Sharangpani