0
TickCounter 인터럽트에 사용되는 카운터의 값을 가져올 가능성이 있는지 알고 싶습니다.한 번만 카운터에 액세스하십시오.
목적 :
내가 현재의 틱이 레지스터의 값을 알고 싶어요.
내가 이것을 평가할 수 있도록. 예를 들어
,
틱 (12)과 레지스터 내가 더 정확한 시계를 가질 수 있도록 1526 그래서 나는 틱 카운터 (기본이 1ms)와 레지스터를 사용하여 가상 시계를 구현할 수있다.
편집 :
나는이 구현
> #ifndef CERT /*******************************************************************************
> *
> * tickGet - get the value of the kernel's tick counter
> *
> * This routine returns the current value of the tick counter.
> * This value is set to zero at startup, incremented by tickAnnounce(),
> * and can be changed using tickSet().
> *
> * RETURNS: The most recent tickSet() value, plus all tickAnnounce() calls since.
> *
> * SEE ALSO: tickSet(), tickAnnounce()
> *
> * INTERNAL
> * There should be no need to lock interrupts on this one; the compiler should
> * only generate a read from one half of the UINT64 which means that the read
> * can never be interrupted.
> */
>
> ULONG tickGet (void)
> {
> return (ULONG) (vxAbsTicks & 0xFFFFFFFFull);
> }
> #endif /* !CERT */
을 발견하지만 간단하고 정답은 바로() tickGet를 호출하는 것입니다 vxAbsTicks
값
그러나 tickGet은 1x – user1829804
의 올바른 해상도를 제공합니다. vxAbsTicks의 올바른 점은 내 질문에 대한 답변입니다. "어떻게 vxAbsTciks를 읽을 수 있습니까?" 답변 : tickGet()을 호출하십시오. 그러나 귀하의 게시물은 실제로 질문을하지 않습니다, 나는 단지 그것이 당신이 알고 싶어하는 것이라고 생각했지만,이 의견에 기초하여 나는 당신이 알고 싶은 것을 확신하지 못했습니다. 그래서 당신의 질문은 무엇입니까? –
감사합니다. – user1829804