RESET

For Flowcode users to discuss projects, flowcharts, and any other issues related to Flowcode 2 and 3.

Moderators: Benj, Mods

Post Reply
ALAN_26
Posts: 84
Joined: Sat Apr 29, 2006 3:36 pm
Location: MALTA
Contact:

RESET

Post by ALAN_26 »

IS THERE A WAY TO RESET AN AVR ( ATMEGA8 ) PROGRAMMATICALY WITH A COSTOM C ? AND IF YES HOW CAN I DO IT ?

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: RESET

Post by Sean »

Hello Alan.

There seem to be two ways to reset an ATMEGA8 from within a program.

1. Connect an unused output to the /RESET input and control it from the program.

2. Allow the watchdog to time-out.
If the watchdog is not being used during normal program execution it can be turned on when a reset is required, and the main program can execute a loop until the reset is forced. This will take a minimum of 15ms.

The following C code should enable the watchdog function. Note: the watchdog enable fuse should be left un-programmed in this case (default condition) to prevent the watchdog from being enabled permanently.

wdt_enable(WDT0_15MS);

If the watchdog is being used, the reset can be forced by failing to execute the wdt_reset() instruction within the time-out period.

If you want to look at the WinAVR watchdog commands they are defined in the wdt.h file in the Tools\avr\include\avr\ folder of the Flowcode installation.

ALAN_26
Posts: 84
Joined: Sat Apr 29, 2006 3:36 pm
Location: MALTA
Contact:

Re: RESET

Post by ALAN_26 »

hello sean

thanks very much for your help i will try it tomorrow

Thank again
Regars Alan

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: RESET

Post by Sean »

One additional requirement for the reset functions to work; the wdt.h file must be included in the compilation.

Add the following code to the 'Definitions and function declarations' panel in the 'Edit->Supplementary Code...' menu:

#include <avr\wdt.h>

ALAN_26
Posts: 84
Joined: Sat Apr 29, 2006 3:36 pm
Location: MALTA
Contact:

Re: RESET

Post by ALAN_26 »

hello sean

there seem to be some kind of problem it's not compiling to hex

ile name: C:\Documents and Settings\ALAN\Desktop\test\test.c
Generated by: Flowcode v3.3.4.44
Date: Thursday, January 24, 2008 19:10:35
Licence: Professional
Registered to: Alan Cilia


http://www.matrixmultimedia.com



Launching the compiler...

C:\Program Files\Matrix Multimedia\Flowcode_AVR\Tools\MX_bats\avra.bat atmega8 "C:\DOCUME~1\ALAN\Desktop\test\test.elf" "C:\DOCUME~1\ALAN\Desktop\test\test.c" "C:\DOCUME~1\ALAN\Desktop\test\test.lst"


C:\Documents and Settings\ALAN\Desktop\test>"C:\PROGRA~1\MATRIX~1\FLOWCO~2\Tools\MX_bats\..\bin\avr-gcc.exe" -mmcu=atmega8 -Os -funsigned-char -o "C:\DOCUME~1\ALAN\Desktop\test\test.elf" "C:\DOCUME~1\ALAN\Desktop\test\test.c"
C:\DOCUME~1\ALAN\Desktop\test\test.c: In function 'main':
C:\DOCUME~1\ALAN\Desktop\test\test.c:104: error: 'WDT0_15MS' undeclared (first use in this function)
C:\DOCUME~1\ALAN\Desktop\test\test.c:104: error: (Each undeclared identifier is reported only once
C:\DOCUME~1\ALAN\Desktop\test\test.c:104: error: for each function it appears in.)

Error returned from [avr-gcc.exe]

Return code = 1

Flowcode was unable to compile the flowchart's C code due to the following errors:


If your flowchart contains C code, please review this carefully. If your flowchart contains no C-code or you have thoroughly reviewed the code, contact Technical Support.

FINISHED

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: RESET

Post by Sean »

A correction to the spelling of the watchdog timer definition names.

The prefixes contain the letter 'O', not the number '0'.

The command to set the minimum watchdog timer period should be:
wdt_enable(WDTO_15MS);
not
wdt_enable(WDT0_15MS);

If #include <avr/wdt.h> has been added to the supplementary code this definition will be available to the program.

Post Reply