主题中讨论的其他器件:HALCOGEN
我最终弄清楚了如何解决在为特定引脚分配输出时遇到的问题。 HalCoGen 已初始化引脚、那么代码可以自由地分配它们。 视频 https://www.youtube.com/watch?v=O1BlOvi8Sn0中介绍了步骤1至6。 但是、对于我正在处理的特定问题、我将提供一些其他信息。 步骤1-6的顺序无关紧要、在参考视频中可能有所不同。 请务必选择您的特定器件、而不是视频说明中的器件 。
第1步:在 HalCoGen 中创建新项目。 我将其命名为 PWM。
第2步:(HalCoGen)在 HalCoGen 中启用所有 HET1引脚
步骤3:(HalCoGen)在 HET1标签页下、启用 PWM0-7并分配输出引脚。 为了简单起见,我指定了 PWM0-->0...PWM7-->7。
步骤4:(HalCoGen) 将引脚频率和占空比初始化为任意值。
步骤5:(HalCoGen)启用 HET1驱动程序。 默认情况下启用所有功能。 但是、为了实现更快的编译、请禁用除这一个之外的所有编译。
第6步:(HalCoGen)生成代码(F5)。 这将生成项目正确运行所需的头文件 。
步骤7:(CCS)如参考视频中详述的那样在 Code Composer Studio 中创建新项目。 在 CCS 的较新版本中、UI 略有不同。
第8步:(CCS)打开文件'hl_sys_main.c 后。 只在用户代码 begin (x)和用户代码末尾部分内编辑、以避免与 HalCoGen 自动生成的代码发生冲突。 当你使用 HalCoGen 生成代码时、它将覆盖这些注释段之外的所有代码。 如果不清楚、视频中也会对此进行说明。 下面是我编辑的代码。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/*用户代码开始(0)*/
#include "HL_HET.h"
#include "HL_system.h"
/*用户代码结束*/
/*用户代码开始(1)*/
uint16_t pwmDUTY; //创建一个16位整数变量来修改占空比
hetSIGNAL_t pwmSignal; // hetSIGNAL_t 是 het.h 中定义的结构
/*用户代码结束*/
/*用户代码开始(2)*/
uint8 emacAddress[6U]= {0xFFU、0xFFU、0xFFU、0xFFU、0xFFU、 0xFFU};
UINT32 emacPhyAddress = 1U;
/*用户代码结束*/
/*用户代码开始(3)*/
//gioSetDirection (hetPORT1、0xFFFFFFFF);
hetInit(); //初始化 HET 驱动程序
pwmSignal.DUTY = 25;
pwmSignal.Period = 1000;// us 周期
pwmSetSignal (hetRAM1、pwm0、pwmSignal);
pwmSignal.Duty = 50;
pwmSignal.Period = 1000;// us 周期
pwmSetSignal (hetRAM1、pwm1、pwmSignal);
while (1){ //开始一个无限循环
}
/*用户代码结束*/
步骤9:(CCS)保存源文件'hl_sys_main.c'。
步骤10:(硬件)检查所有连接(USB、探头等)
步骤11:(CCS)运行调试(F11)
第12步:等待调试完成。
第13步:单击"Resume"(F8)
注意:如果不在步骤8中进行编辑、所有 PWM 输出将处于步骤4中初始化的值。 第8步使用代码将 PWM0和 PWM1分别更改为25%和50%。
步骤14:(Launchpad 电路板)如果红色的"ERR"指示灯亮起。 按下"RESET"(重置)按钮。 该指示灯有时会在加载后或出现故障时立即亮起。