主题中讨论的其他器件:HALCOGEN
工具/软件: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、组、数据);
}/*
用户代码结束*/