Hm... could you tell me about how much more accurate the rate would be if I
used the kernel driver? I switched the the T4 timer, and now poll it as it
counts up until it is greater than a certain value (this way it catches the
value for sure, though maybe not exactly on but close). I am aiming for a rate
of 1kHz, and I get a value that ranges from about 950-1000Hz. It no longer
gets the large drops in sample frequency that I got when trying with T3, but
I'm still curious if this is as accurate as I can get or whether using a kernel
driver would enable me to achieve something like a 995-1000Hz range.
Thanks again for your help.
--- In wrote:
>
> You need to be able to catch the interrupt from the timer when it expires.
> The only way is with a driver of some kind. Polling the timer registers is
> not reliable especially if the countdown is very short.
>
> --- On Mon, 7/27/09, tseredynski <> wrote:
>
> From: tseredynski <>
> Subject: [ts-7000] Re: T3 timer use on TS-7200
> To:
> Received: Monday, July 27, 2009, 2:22 PM
>
>
>
>
>
>
>
>
>
>
>
>
> Hi,
>
>
>
> Thanks for the response. Why exactly do I need to use a kernel driver? I'm
> not very familiar with them, and I don't usually like to use things that I
> don't understand well. I'm currently trying with T4 instead of T3 and it's
> showing more promise of being reliable... but I'm not done yet.
>
>
>
> But I'd really like to know why I'm unable to make use of the timer with pure
> C programming. Thanks.
>
>
>
> --- In .com, Jim Jackson <jj@> wrote:
>
> >
>
> >
>
> > You really need to use a kernel driver for this.
>
> > For an example, check our Phil's ADC kernel module - it's in the file
>
> > section of the group. It uses one of the timers to schedule when to
>
> > read the ADC.
>
> >
>
> > On Fri, 24 Jul 2009, tseredynski wrote:
>
> >
>
> > > Hello,
>
> > >
>
> > > I'm trying to use the T3 timer on my Ts-7200 to execute a function at a
> > > constant 4khz rate (every 0.25 ms), but I'm running into trouble.
>
> > >
>
> > > I'm trying to do so by loading the appropriate value to the timer, and
> > > then constantly polling the T3 value, and waiting for it to hit 0.
> > > However, a few problems occur. First of all, it doesn't seem like my
> > > program can poll the value fast enough to catch the 0. The clock hits
> > > zero, and resets before my program can even get the value.
>
> > >
>
> > > It also seems that every couple of milliseconds (~5ms) I get a large
> > > delay. I checked this part by using printf() to display values as fast
> > > as it could and I'd usually get gaps of about 20 clock counts, however
> > > every couple of milliseconds I'd get a gap that was much larger (a couple
> > > hundred clock counts). Also, while trying to print values as fast as
> > > possible, it would usually print 20 values per cycle but every couple of
> > > cycles it would print closer to 30.
>
> > >
>
> > > This makes me think that there might be processes running on the board
> > > with higher priority than my program.
>
> > >
>
> > > Does anyone have some advice? Can I use the timer like I'm trying to, or
> > > do I need to try to use the interrupt request generated by the timer? (I
> > > don't know how to do this atm, so advice regarding that would be
> > > appreciated)
>
> > >
>
> > > Thank you!
>
> > >
>
> > >
>
> >
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|