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.

[参考译文] CCS/TM4C1294NCPDT:TM4C 微控制器论坛

Guru**** 2439710 points
Other Parts Discussed in Thread: EK-TM4C1294XL

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/626394/ccs-tm4c1294ncpdt-tm4c-microcontrollers-forum

器件型号:TM4C1294NCPDT
Thread 中讨论的其他器件:EK-TM4C1294XL

工具/软件:Code Composer Studio

我在 TIVAware 中找到了一个示例程序、该程序不能生成 PWM。   

#include
#include
#include "inc/hw_types.h"
#include "inc/hw_gpio.h"
#include "inc/hw_memmap.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/pwm.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"
#include "utils/uartstdio.h"
#include "drivers/pinout.h"
#include "driverlib/rom_map.h"


//系统时钟变量
uint32_t g_ui32SysClock;

int main (void){

//1. 将时钟设置为以25MHz 的频率从晶体运行
G_ui32SysClock = MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN \
| SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000);

//2. 使用启用系统控制中的 PWM 模块
//启用外设(端口 F)
SysCtlPeripheralEnable (SYSCTL_Periph_PWM0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);

//2b. 机密级别;解锁端口 F0以便我们可以使用它!!! >=O
while (!(SysCtlPeripheralReady (SYSCTL_Periph_GPIOF)));
HWREG (GPIO_PORTF_AHB_BAS+GPIO_O_LOCK)= GPIO_LOCK_KEY;
HWREG (GPIO_PORTF_AHB_BAS+GPIO_O_CR)|= GPIO_PIN_0;

//将引脚配置为 PWM 引脚
GPIOPinTypePWM (GPIO_PORTF_BASE、GPIO_PIN_0 | GPIO_PIN_1);
GPIOPinConfigure (GPIO_PF0_M0PWM0);

//3. 将 PWM 时钟设置为系统时钟/64
PWMClockSet (PWM0_BASE、PWM_SYSCLK_DIV_64);

//4. 配置 PWM 发生器
PWMGenConfigure (PWM0_BASE、PWM_GEN_0、(PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC);

//5. 设置发生器的周期
//将 PWM 设置为以100Hz 的频率运行。 (n =(1 / f)* SYSCLK);(1 / 100Hz)*(120MHz/64)= 18750个周期
无符号长整型周期= 18750;
PWMGenPeriodSet (PWM0_BASE、PWM_GEN_0、PERIOD);

//6. 启用 PWM 输出
//启用 PWM1位0 (PF1)和位1 (PF2)输出信号。
PWMOutputState (PWM0_BASE、(PWM_OUT_0_BIT | PWM_OUT_1_BIT)、true);

//7. 设置脉冲宽度
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_0、(周期/2));

//8. 启用 PWM 发生器
PWMGenEnable (PWM0_BASE、PWM_GEN_0);

构建时会发现以下错误。 可能是什么问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Azim、

     您能告诉我这个示例在 Tivaware 中的哪个位置? 您是否在下尝试过 PWM 示例 \examples\PWM?

     对于您显示的要编译的示例、您需要具有驱动程序文件夹的包含路径。 drivers 文件夹通常可以在 examples/boards/ek-tm4c1294xl 下找到、如下所示。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Azim、

    您是否刚刚将程序复制/粘贴到空白项目中?

    您实际上应该使用 CCS 菜单选项 Project、然后导入 CCS Project。 这可能会恢复所有必要的设置。

    布鲁诺
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    @Bruno

    事实上、您、供应商代理和经验丰富(通过战争)的 CCS 会"了解这一点"。 但是、从哪里可以轻松/正确地向无此类新用户"呈现"? 如此多的海报-登录这里-证明"现有的描述/方法-失败了!"

    我们是否可以注意到,虽然没有时间解决这一缺陷,但出于最不合理的原因(小说、任何人?),"有足够的时间禁止"类似"的行为。 并宣布(可升级)论坛升级...

    修复"JTAG 锁定"的(极端数量/发生次数)也应该得到(一些)注意事项-这显然不是真的吗?

    这种"引起真正的问题"的做法在破坏重要的"贡献者反馈监控器"的同时、是否会显示"资源应用不当?"