请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432P401R
您好!
我的项目是使用 TI 驱动程序中的 PWMtimer 和计时器。 当我单独使用 PWM 任务时、工作正常、当我单独使用计时器时工作正常、但当我一起使用时、我的项目是锁定的。 (冻结)。 有什么想法吗?
我 versión 的是 MSP432 SDK 的最后一个 μ m (2.10)。
此致、
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.
器件型号:MSP432P401R
您好!
我的项目是使用 TI 驱动程序中的 PWMtimer 和计时器。 当我单独使用 PWM 任务时、工作正常、当我单独使用计时器时工作正常、但当我一起使用时、我的项目是锁定的。 (冻结)。 有什么想法吗?
我 versión 的是 MSP432 SDK 的最后一个 μ m (2.10)。
此致、
很抱歉、我不明白太好。
这可能是因为 PWM 驱动器正在使用机罩计时器(可能我需要对配置文件进行一些更改)。
我使用"timerled"示例测试项目并避免错误(不成功)、我在其他任务中使用 PWM 驱动程序、我还有另外两个任务。 在我添加时间限制任务之前、它的一切工作正常。
此致。
*==== timerled.c ===
*/
#include
/*驱动程序头文件*/
#include
#include
#include
/*板头文件*/
#include "Board.h"
#include "timer.h"
/*用于切换 LED 的回调。 */
void mytimerCallback (Timer_handle myHandle);
/*
=== mainThread ====
//
void * myTimer (void * arg0)
{
/*以微秒为单位的周期和占空比*/
Timer_handle timer0;
Timer_Params 参数;
timer_init();
/*将计时器设置为连续回调模式,以调用回调
*每1、000、000微秒或1秒运行一次。
*
Timer_Params_init (¶ms);
params.period = 1000000;
Params.periodUnits = Timer_Period_US;
params.timerMode = Timer_Continuous_callback;
params.timerCallback = mytimerCallback;
timer0 = Timer_open (Board_TIMER4、params);
if (timer0 == NULL){
/*初始化计时器失败*/
while (1);
}
如果(Timer_start (timer0)= Timer_STATUS_ERROR){
/*无法启动计时器*/
while (1);
}
while (1){
vTaskDelay (PDM_TO_TICKs (100));
}
}/*
此回调每1、000、000微秒或1秒调用一次。 由于
*每次调用此函数时都会切换 LED、因此 LED 将以
*每2秒闪烁一次的速率闪烁。
**/
void mytimerCallback (Timer_handle myHandle)
{
queueDebugSend ("[timer]回叫函数");
}