主题中讨论的其他器件:HALCOGEN
工具/软件:Code Composer Studio
我是一个初学者,不知道从哪里开始。 如有可能、请分享样片。 以及 TMS570数据表中提到的144个引脚、 但在 halcogen 中、我没有观察到如何启动 或利用这些引脚以使用 CAN 或 SPI 等指定功能分配这些引脚的任何规定。是否有任何此类引脚配置规定?
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
我是一个初学者,不知道从哪里开始。 如有可能、请分享样片。 以及 TMS570数据表中提到的144个引脚、 但在 halcogen 中、我没有观察到如何启动 或利用这些引脚以使用 CAN 或 SPI 等指定功能分配这些引脚的任何规定。是否有任何此类引脚配置规定?
谢谢您...
我有另一个问题、
在数据表中,我们观察到89和90是 CAN 1 TX 和 Rx ,也可以用作 GPIO 引脚,所以我的问题是两个部分,
a)如何将引脚89、90配置为端口1 TX 和 Rx?
b)如何将引脚89、90配置为 GPIO?
我知道这一配置过程
/**@示例 Example_canCommunication.c
*这是一个示例,说明了创建示例应用程序的步骤
*配置两个 CAN 节点1和2并开始与示例数据块进行通信。
* CAN 1和 CAN2必须是 CAN 网络的一部分
*
*
*@b Step @b 1:
*
*创建新项目。
*
*导航:->文件->新建->项目
*
*@image html example_createProject.jpg "图:创建新项目"
*
*@b Step @b 2:
*
*配置驱动程序代码生成:
*-启用 CAN 驱动程序
*-禁用其他
*
*导航:-> TMS570LSxx /RM4 ->启用驱动程序
*
*@image html can_enabledriver.JPG "图:启用 CAN 驱动程序"
*
*@b Step @b 3:
*
*配置 CAN 波特率:
*
*导航:-> TMS570LSxx /RM4 -> CAN
*
*@image html can1baud.JPG "图:CAN1波特率配置"
*@image html can2baud.JPG "图:CAN2波特率配置"
*
*@b Step @b 4:
*
*配置 CAN MessageBox:
*
*-配置 CAN1、MessageBox 1 --激活和启用 TX
*-配置 CAN2、MessageBox 1 --激活和启用 RX
*
*导航:-> TMS570LSxx /RM4 -> CAN
*
*@image html canCommunication1.JPG "图:CAN1 MBox 配置"
*@image html canCommunication2.JPG "图:CAN2 MBox 配置"
*
*@b Step @b 5:
*
*将下面的源代码复制到 sys_main.c 中,或者用此文件替换 sys_main.c。
*
*示例文件也可以在示例文件夹中找到:./HALCoGen/examples
*
*@注意 HALCoGen 在 sys_main.c 中生成一个空的主函数、
*
*
/*
*版权所有(C) 2009-2015 Texas Instruments Incorporated - www.ti.com
*
*
*以源代码和二进制形式重新分发和使用、有无
*如果满足以下条件、则允许进行修改
符合*:
*
*源代码的重新分发必须保留上述版权
*注意、此条件列表和以下免责声明。
*
*二进制形式的再发行必须复制上述版权
*请注意、中的此条件列表和以下免责声明
*随提供的文档和/或其他材料
*分发。
*
*德州仪器公司的名称和名称均不相同
*其贡献者可用于认可或推广衍生产品
*未经特定的事先书面许可。
*
*本软件由版权所有者和贡献者提供
*"按原样"以及任何明示或暗示的保证、包括但不包括
*仅限于对适销性和适用性的暗示保证
*一项特定目的不予承认。 在任何情况下、版权均不得
*所有者或贡献者应对任何直接、间接、偶然或
*特殊、惩戒性或后果性损害、包括但不包括
*仅限于采购替代货物或服务;丧失使用、
*数据或利润;或任何原因造成的业务中断
*责任理论、无论是合同责任、严格责任还是侵权行为
*包括因使用而以任何方式产生的疏忽或其他原因
*、即使被告知可能会发生此类损坏。
*
*
/*用户代码开始(0)*/
/*用户代码结束*/
/*包含文件*/
#include "sys_common.h"
#include "system.h"
/*用户代码开始(1)*/
#include "CAN.h"
/*包含 ESM 头文件-系统驱动程序的类型、定义和函数声明*/
#include "ESM.h"
#define D_SIZE 9
uint8 TX_DATA[D_SIZE]={'H'、'E'、'R'、'C'、'U'、'L'、'E'、'S'、'0'};
uint8 rx_data[D_size]={0};
uint32错误= 0;
uint32 checkPackets (uint8 * src_packet、uint8 * dst_packet、uint32 psize);
/*用户代码结束*/
/**@fn void main (void)
*@应用程序主函数简介
*
*
/*用户代码开始(2)*/
/*用户代码结束*/
void main (void)
{
/*用户代码开始(3)*/
/*初始化 CAN 1和2 */
canInit();/* CAN1 -> CAN2 */
CAN1上的/*发送*/
canTransmit (canREG1、canMESSAGE_BOX1、TX_DATA);
/*。 等待 CAN2上的消息接收*
while (!canIsRxMessageArrived (canREG2、canMESSAGE_BOX1));
canGetData (canREG2、canMESSAGE_BOX1、Rx_DATA);//在 CAN2上接收*
/*检查接收到的数据模式*/
错误=校验包(&TX_DATA[0]、&Rx_DATA[0]、D_SIZE);
/*... 永久运行*/
while (1);
/*用户代码结束*/
}
/*用户代码开始(4)*/
/**@fn checkPackets (uint8 * src_packet、uint8 * dst_packet、uint32 psize)
*@简要检查两个缓冲区并报告错误
*
*
uint32 checkPackets (uint8 * src_packet、uint8 * dst_packet、uint32 psize)
{
uint32 err=0;
uint32 cnt=psize;
while (cnt -)
{
if ((* src_packet++)!=(* dst_packet++))
{
ERR++;/*数据错误*/
}
}
返回(错误);
}
/*用户代码结束*/
引脚编号8990是否有任何特定配置可用作 CAN 或 GPIO wrt halcogen?
您好!
a)如何将引脚89、90配置为端口1 TX 和 Rx?
-->从“驱动程序启用”选项卡启用 CAN1驱动程序。
-->转到 CAN1选项卡。 在"CAN1端口"选项卡中将 CAN1 TX 和 CAN1 RX 设置为正常工作
-->在 sys_main.c 中调用 canInit();
b)如何将引脚89、90配置为 GPIO?
-->从“驱动器启用”选项卡启用 CAN1驱动器;
-->转到 CAN1选项卡。 从"CAN1端口"选项卡中将 CAN1 TX 和 CAN1 RX 设置为 GIO
-->调用 canInit();
现在、您可以使用 CAN.c 中提供的 CAN 驱动程序函数(说明位于同一文件中)。
canIoSetDirection (canBASE-t *节点、UINT32 TxDir、UINT32 RxDir)
canIoSetPort (canBASE-t *节点、uint32 TxValue、uint32 RxValue)
canIoTxGetBit (canBASE-t *节点)
canIoRxGetBit (canBASE-t *节点)
此致、
米罗