From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18730 invoked by alias); 5 Jun 2008 17:39:48 -0000 Received: (qmail 18671 invoked by uid 22791); 5 Jun 2008 17:39:47 -0000 X-Spam-Check-By: sourceware.org Received: from elasmtp-scoter.atl.sa.earthlink.net (HELO elasmtp-scoter.atl.sa.earthlink.net) (209.86.89.67) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 05 Jun 2008 17:39:12 +0000 Received: from [75.82.39.242] (helo=PAULD) by elasmtp-scoter.atl.sa.earthlink.net with esmtpa (Exim 4.67) (envelope-from ) id 1K4JQc-0001oz-J7 for ecos-discuss@ecos.sourceware.org; Thu, 05 Jun 2008 13:39:11 -0400 From: "Paul D. DeRocco" To: "eCos Discuss" Date: Thu, 05 Jun 2008 17:39:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <001301c8c6d3$66400590$1c0110ac@ariga> X-ELNK-Trace: bd7d5d4e6f8f652c74cfc7ce3b1ad11381c87f5e51960688638dc212f5050a8d40d8fbfdf6f4c9af350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: RE: [ECOS] Re: In trouble of timer operations X-SW-Source: 2008-06/txt/msg00038.txt.bz2 > From: ariga masahiro > > Thank you,Paul,for valuable suggestion. > I re_calculated by toggling LED and measured signal's duration on > osilloscope. > > result > (1) only used cyg_thread_delay(2) -- 20.2millisec > (2) cyg_thread_delay(1),cyg_thread_delay(2) -- 30.1millisec > (3) same as (2) except changed cyg_thread_delay(2) to > yg_thread_delay(20) -- 212millisec > (4) only used cyg_thread_delay(20) -- 201millisec > > I am confirmed in thinking that since > CYGNUM_HAL_RTC_DENOMINATOR=100, system > clock is running 100Hz,1 tick perid = 10millisec,and if I wish to > run system > clock 200Hz I should change CYGNUM_HAL_RTC_DENOMINATOR to 200. > > But according to your mail, it raised another puzzlement. > > > However, you won't find it out very easily with diag_printf, because it > > probably takes longer than 10ms to execute. > > At first,I couldn't get it. Because if diag_printf takes over > 10ms, simply > calculated results ought be longer, > but on the contrary it took far shorter than expected. > > So I deliberately inserted > HAL_CLOCK_READ1(&start); > diag_printf("id=hi 0x%x\n",start); > in above each test(after led_toggle function) and investigated how it > affects duration time. > To my very astonishment as far as looking signals on osilloscope > there are > no differences ! > Two functions takes no time at all as far as looking to signals. Well, then the diag_printf is running fast enough on your system. That depends upon the bit rate. On a system running at 115200, outputting 18 characters takes about 1.5ms, which is short enough, but running at 9600 takes 19ms, which would cause a problem. If your loop is running at the right rate according to the scope, but your diag_printf messages show something different, then it sounds like you've proven that your HAL hardware clock isn't running at the speed you think it is. -- Ciao, Paul D. DeRocco Paul mailto:pderocco@ix.netcom.com -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss