Thanks yo all for your support!
I change timer to x (cut os timer)and nothing solved
Now my code is
void vTimerCallback(TimerHandle_t pxTimer);
/* Software timer definitions. */
#define configUSE_TIMERS 1
#define configTIMER_TASK_PRIORITY 1//( 2 )
#define configTIMER_QUEUE_LENGTH 10
#define configTIMER_TASK_STACK_DEPTH 256
tmrInitLTCHandle = xTimerCreate("Timer1", (1000 / portTICK_RATE_MS), pdTRUE, (void * )1, vTimerCallback);
xTimerStart(tmrInitLTCHandle, portMAX_DELAY);
/* LTC4151 reading*/
void vTimerCallback(TimerHandle_t tmrInitLTCHandle)
{
int32_t lArrayIndex;
configASSERT( tmrInitLTCHandle);
lArrayIndex = ( int32_t ) pvTimerGetTimerID( tmrInitLTCHandle );
if(lArrayIndex==1)
{
if(tmrstatus & 0x01)
{
tmrstatus = 0x03;
vTaskResume(I2CcommHandle);
}
}
}
Still cant start, also wanted to notice on my other threads, there are:
/* Definitions for networkInit */
osThreadId_t networkInitHandle;
const osThreadAttr_t networkInit_attributes = {
.name = "networkInit",
.stack_size = 384 * 4,
.priority = (osPriority_t) osPriorityHigh,
};
/* Definitions for uartM3gProc */
osThreadId_t uartM3gProcHandle;
const osThreadAttr_t uartM3gProc_attributes = {
.name = "uartM3gProc",
.stack_size = 256 * 4,
.priority = (osPriority_t) osPriorityNormal,
};
/* Definitions for TCPProc */
osThreadId_t TCPProcHandle;
const osThreadAttr_t TCPProc_attributes = {
.name = "TCPProc",
.stack_size =384 * 10,//8,//4,
.priority = (osPriority_t) osPriorityNormal,
};
/* Definitions for uartPpmProc */
osThreadId_t uartPpmProcHandle;
const osThreadAttr_t uartPpmProc_attributes = {
.name = "uartPpmProc",
.stack_size = 256 * 8,//4,
.priority = (osPriority_t) osPriorityNormal,
};
/* Definitions for logging */
osThreadId_t loggingHandle;
const osThreadAttr_t logging_attributes = {
.name = "logging",
.stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityBelowNormal,
};
/* Definitions for logging */
osThreadId_t loginiHandle;
const osThreadAttr_t logini_attributes = {
.name = "logini",
.stack_size = 128 * 8,
.priority = (osPriority_t) osPriorityBelowNormal,
};
osThreadId_t I2CcommHandle;
const osThreadAttr_t I2Ccomm_attributes = {
.name = "I2CComm",
.stack_size = 128 * 12,//4,
.priority = (osPriority_t) osPriorityBelowNormal,
};
/* Definitions for uartPpmTx */
osThreadId_t uartPpmTxHandle;
const osThreadAttr_t uartPpmTx_attributes = {
.name = "uartPpmTx",
.stack_size = 128 * 8,//4,
.priority = (osPriority_t) osPriorityNormal,
};
/* Definitions for uartM3gTx */
osThreadId_t uartM3gTxHandle;
const osThreadAttr_t uartM3gTx_attributes = {
.name = "uartM3gTx",
.stack_size = 128 * 8,//128 * 4,
.priority = (osPriority_t) osPriorityNormal,
};
/* Definitions for TCPTx */
osThreadId_t TCPTxHandle;
const osThreadAttr_t TCPTx_attributes = {
.name = "TCPTx",
.stack_size = 384 * 12,//128 * 4,
.priority = (osPriority_t) osPriorityNormal,
};
/* Definitions for TCPip */
osThreadId_t mtcpConHandle;
const osThreadAttr_t mtcpCon_attributes = {
.name = "mtcpCon",
.stack_size = 384 * 4,
.priority = (osPriority_t) osPriorityNormal,
};
/* Definitions for quStatusCode */
osMessageQueueId_t quStatusCodeHandle;
const osMessageQueueAttr_t quStatusCode_attributes = {
.name = "quStatusCode"
};
/* Definitions for quMsgLog */
osMessageQueueId_t quMsgLogHandle;
const osMessageQueueAttr_t quMsgLog_attributes = {
.name = "quMsgLog"
};
/* Definitions for quMsgPpm */
osMessageQueueId_t quMsgPpmHandle;
const osMessageQueueAttr_t quMsgPpm_attributes = {
.name = "quMsgPpm"
};
//* Definitions for quTCP */
/*osMessageQueueId_t quTCPHandle;
const osMessageQueueAttr_t quTCP_attributes = {
.name = "quTCP"
};*/
/* Definitions for quMsgM3g */
osMessageQueueId_t quMsgM3gHandle;
const osMessageQueueAttr_t quMsgM3g_attributes = {
.name = "quMsgM3g"
};
/* Definitions for tmrInitPpm */
osTimerId_t tmrInitPpmHandle;
const osTimerAttr_t tmrInitPpm_attributes = {
.name = "tmrInitPpm"
};
/* Definitions for tmrInitLTC */
/*osTimerId_t tmrInitLTCHandle;
const osTimerAttr_t tmrInitLTC_attributes = {
.name = "tmrInitLTC"
};
*/
TimerHandle_t tmrInitLTCHandle;
/* Definitions for tmrAuth */
osTimerId_t tmrAuthHandle;
const osTimerAttr_t tmrAuth_attributes = {
.name = "tmrAuth"
};
Do they able to work within sheduler and OS?
I thought what whey do
But now I didnt understand
Maybe somebody can provide an example of os timer?
Thanks in advance!!!