主题中讨论的其他器件: SysConfig、 CC2430
您好
我正在开发 CC2340R5。 我的项目需要计时器应用程序。

我无法在 SysConfig 中为计时器引脚配置 DIO。
任何人可以帮助我配置 DIO。 此外、如何使该 DIO 引脚成为输入。
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.
尊敬的 Krishna:
我假设您在引用 LGPTimerLPF3.h 文件参考 示例?
LGPTimerLPF3_Handle hTimer;
void timerCallback(LGPTimerLPF3_Handle lgptHandle, LGPTimerLPF3_IntMask interruptMask) {
// interrupt callback code goes here. Minimize processing in interrupt.
}
void taskFxn(uintptr_t a0, uintptr_t a1) {
uint32_t counterTarget;
lgptHandle = NULL;
LGPTimerLPF3_Params params;
LGPTimerLPF3_Params_init(¶ms);
params.hwiCallbackFxn = timerCallback;
lgptHandle = LGPTimerLPF3_open(0, ¶ms);
if(lgptHandle == NULL) {
Log_error0("Failed to open LGPTimer");
Task_exit();
}
counterTarget = 48000; // 1 ms with a system clock of 48 MHz
LGPTimerLPF3_setInitialCounterTarget(lgptHandle, counterTarget, true);
LGPTimerLPF3_enableInterrupt(lgptHandle, LGPTimerLPF3_INT_TGT);
LGPTimerLPF3_start(lgptHandle, LGPTimerLPF3_CTL_MODE_UP_PER);
while(1) {
vTaskSuspend(lgptHandle);
}
}
该代码示例将使用 LGPTimer 每1ms 生成一个中断。 LGPTimer TI 驱动程序不映射到任何特定的 DIO 引脚。 您想通过 DIO 实现什么目标? 创建 PWM、切换计时器过期等、或进行其他操作、因为您希望 DIO 作为输入。
此致、
瑞安
在器件发布之后、我们持续密切开发 CC2430软件资源。 在使用下一个 SIMPLELINK-LOWPOWER-F3-SDK 版本更新 LGPT TI 驱动程序之前、无法提供示例。 这将包括 用于捕获和比较 可多路复用至每个 LGPT 外设实例的三个通道的 IO 信号的 API。 通道捕获功能可用于测量输入信号的周期和占空比。 但是、LGPT 驱动程序仍不支持来自事件结构的通道输入。 如果此调度与您的时间轴不相符、或者仍无法包含所需的功能、则您将必须从 LGPT 寄存器创建一个解决方案。
此致、
瑞安
CnCFG (即 C0CFG、C1CFG、C2CFG)确定每个通道配置的通道输入是事件结构还是 IO 控制器。 以下是 CPU_MMAP 描述。
此致、
瑞安
谢谢、Ryan
我实际上是在从 LGPT 的 PRECFG 寄存器中寻找 TICKSRC 位来从事件结构访问时钟、而不是从系统时钟。
而且,我有点卡在事件结构。 根据我的要求、我将配置
1) GPIO.EVTCFG、用于从特定 DIO 获取事件
2) EVTSVT.LGPTxTENSEL 将此事件结构重定向到 LGPT
3) LGPTx.PRECFG、用于获取事件结构的上升沿
我已经完成了上述所需的配置、并希望计数器每次都在 DIO 的引脚高电平上运行。 请多多指教。 即使是在 DIO-高电平多次之后、计数器每次都为0。 你是否有任何关于这一点的见解,这样我就可以正确地运行我的计时器计数器?