Forum: Mikrocontroller und Digitale Elektronik Studio 7 Stimuli File Grundlagen


von Rudolf M. (rudolf_58)


Lesenswert?

Ein Stimuli file soll an einen Pin abwechselnd HIGH/LOW senden.
Ich finde recht wenig zum Thema stimuli in den Beiträgen.
Untenstehend meine erste Annäherung, wobei ich zugeben muss
dass ich selbst verwundert gewesen wäre wenn das auf Anhieb
funktioniert hätte.
Vielen Dank für sachdienliche Hinweise.

Hier der source code:
.include "m8adef.inc"
ldi r16, 0b01111111
out DDRD, r16
ldi r16, 0b00000011
out PORTD, r16

nop
main:
nop
in r16, PortD
nop
rjmp main

 Stimuli file:
 alternierend HIGH/LOW Signale an Port D7 senden
 dieses file ist im include Pfad gespeichert.
loop:
ldi r17, 0b10000000
out PORTD, r17
nop
rcall delay
ldi r17, 0b00000000
out PORTD, r17
rcall delay
nop
rjmp loop

delay:
ldi r17,0
ldi r18,0
loop1:
dec r17
brne loop1
dec r18
brne loop1
ret

von Oliver S. (oliverso)


Lesenswert?

Das Stimuli-File ist kein Assembler file, das ist eine Datei, die zu 
festgelegten Zeitpunkten Aktionen wie Registerwerte ändern o.ä. 
definiert, die dann während der Simulation ausgeführt werden.
Das Format ist (vermutlich) identisch zu dem vom ehrwürdigen Studio 4, 
und ist hier beschrieben:

https://onlinedocs.microchip.com/pr/GUID-19BA5E18-FC0D-4489-9A99-3E3FFC279F4D-en-US-1/index.html?GUID-37D93858-715B-43F6-8063-31002F3F2971

Oliver

von Martin (Gast)


Lesenswert?

Beschreibung:

https://ww1.microchip.com/downloads/en/DeviceDoc/AVR-Simulator-UserGuide-DS50003042A.pdf

Beispiel Stimuli-File (*.stim):
1
PINB = 0x10          // Dummy High
2
#100000
3
PINB = 0x00          // Bit Low 100 ms
4
#480000
5
PINB = 0x10          // Bit High 1900 ms
6
#9120000
7
$repeat 4
8
PINB = 0x00          // 100 ms Low
9
#480000
10
PINB = 0x10          // 900 ms High
11
#4320000
12
PINB = 0x00          // 200 ms Low
13
#960000
14
PINB = 0x10          // 800 ms High
15
#3840000
16
$endrep
17
PINB = 0x00          // 100 ms Low
18
#480000
19
PINB = 0x10          // 1900 my High
20
#9120000
21
PINB = 0x00          // Dummy Low
22
#100000
23
$break

von c-hater (Gast)


Lesenswert?

Oliver S. schrieb:

> Das Stimuli-File ist kein Assembler file, das ist eine Datei, die zu
> festgelegten Zeitpunkten Aktionen wie Registerwerte ändern o.ä.
> definiert, die dann während der Simulation ausgeführt werden.

Ja.

> Das Format ist (vermutlich) identisch zu dem vom ehrwürdigen Studio 4,
> und ist hier beschrieben:

Jain. Es gab zwei Versionen des Simulators, V1 und V2. Das Studio4 hatte 
beide Versionen dabei (allerdings nicht für jeden Controller).

Der springende Punkt ist: die beiden Simulatorversionen verwenden ein 
komplett verschiedenes Format für Stimuli.

> 
https://onlinedocs.microchip.com/pr/GUID-19BA5E18-FC0D-4489-9A99-3E3FFC279F4D-en-US-1/index.html?GUID-37D93858-715B-43F6-8063-31002F3F2971

Das ist das V2-Format. Und somit das einzige von aktuellen Studios 
unterstützte. Unter Studio4 ist es dann unterstützt, wenn man den 
V2-Simulator verwendet.

von Rudolf M. (rudolf_58)


Lesenswert?

Vielen Dank für die Eure Hinweise und Erläuterungen. Kompetent und 
zielgerichtet, genau das was man braucht wenn man Hilfe sucht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.