违反完整性-尝试存储到受保护的内存中

时间:2019-06-04 09:27:34

标签: c multithreading timer rtos integrity

我正在使用

GetClockAlarm(Clock TheClock, Boolean *Repeat, Time *AlarmTime, Time *AlarmInterval)

用于将时钟时间和间隔获取到API的out参数中。

AlarmTime是指向具有(秒和小数作为结构成员)的结构的指针。

我收到一条错误消息“试图存储到受保护的内存中”。

我尝试使用指针引用结构,但是它没有用。

void GetClockAlarm_(Clock TheClock){
    Time T3, AI;
    GetClockAlarm(Vclk2, true, &T3, &AI);
    printf("T3.Seconds = %llu\t\t T3.Fraction=%d\t\t \n",T3.Seconds,T3.Fraction);
}

1 个答案:

答案 0 :(得分:2)

GetClockAlarm(Clock TheClock, Boolean *Repeat,Time *AlarmTime, Time *AlarmInterval)

看看第二个参数Boolean *,但是您要传递Boolean

也许您想要如下。

Time T3, AI;
Boolean boolVar = true;
GetClockAlarm(Vclk2, &boolVar, &T3, &AI);