Forum: Mikrocontroller und Digitale Elektronik ATtiny13 und 10ms Impulse


von Andreas L. (andreasl)


Lesenswert?

Hallo,
ich versuche mit einem ATtiny13 impulse von 10mS zu bekommen. Das klappt 
einfach nicht. Ich habe im Augenblick einen externen Clock von 8Mhz. 
Alles angegeben unter Optionen. Heraus kommen aber 16mS breite Impulse. 
Was mache ich verkehrt?
1
#include <avr/io.h>
2
#include <util/delay.h>
3
int main()
4
{
5
  
6
  DDRB = (1 << DDB0) | (1 << DDB1);// PORTB als Ausgang
7
    while( 1 ) 
8
   {
9
    
10
    PORTB = (1 << PB1) | (1 << PB0);//LED an PB0 PB1 ein
11
  
12
  _delay_ms (2);
13
  
14
  
15
  PORTB = (0 << PB1) | (0 << PB0);//LED an PB0 PB01 aus
16
  _delay_ms (2);
17
18
   }//endlos (while1)
19
20
}//Main

avr-gcc  -mmcu=attiny13 -Wall -gdwarf-2 -std=gnu99   -DF_CPU=8000000UL 
-Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD 
-MP -MT simulator.o -MF dep/simulator.o.d  -c  ../simulator.c
avr-gcc -mmcu=attiny13 -Wl,-Map=simulator.map simulator.o     -o 
simulator.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature 
simulator.elf simulator.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" 
--change-section-lma .eeprom=0 --no-change-warnings -O ihex 
simulator.elf simulator.eep || exit 0
avr-objdump -h -S simulator.elf > simulator.lss

AVR Memory Usage
----------------
Device: attiny13



Program:     104 bytes (10.2% Full)
(.text + .data + .bootloader)

Data:          0 bytes (0.0% Full)
(.data + .bss + .noinit)


Build succeeded with 0 Warnings...


Die Ausgabe im Bulid Fenster.
Verwendet wird AVR Studio AVR Studio    4.15.623  mit WinAVR-20081205

von hans (Gast)


Lesenswert?

Schau mal bei den Fuses nach CKDIV8. Da wird ein Häckchensein und
dadurch dein Takt nur 1 MHz.

gruß hans

von Andreas L. (andreasl)


Lesenswert?

hans wrote:
> Schau mal bei den Fuses nach CKDIV8. Da wird ein Häckchensein und
> dadurch dein Takt nur 1 MHz.
>
> gruß hans

BINGO, danke.

Gruß
Andreas

von hans (Gast)


Lesenswert?

Das macht wohl jeder einmal.

Kluge bleiben bei einmal!

gruß hans

von Hannes Lux (Gast)


Lesenswert?

Komisch, ich wusste gar nicht, dass der Tiny13 mit 8 MHz läuft...

Ich dachte immer, der läuft mit 9,6 MHz, bzw. mit 1,2 MHz bei aktiver 
CLKDIV8-Fuse. Naja, da ist bestimmt das Datenblatt falsch...

...

von Justus S. (jussa)


Lesenswert?

Hannes Lux wrote:
> Komisch, ich wusste gar nicht, dass der Tiny13 mit 8 MHz läuft...
>
> Ich dachte immer, der läuft mit 9,6 MHz, bzw. mit 1,2 MHz bei aktiver
> CLKDIV8-Fuse. Naja, da ist bestimmt das Datenblatt falsch...


> Ich habe im Augenblick einen externen Clock von 8Mhz.

von hans (Gast)


Lesenswert?

@Hannes

Er hat eine ext. Clock mit 8MHz lt. Andreas! Sonst hast du recht!

gruß hans

von Hannes Lux (Gast)


Lesenswert?

Ok, das habe ich wohl wegen der 10 Millisiemens ("mS") und 16 
Millisiemens überlesen. - Sorry...

...

von Andreas L. (andreasl)


Lesenswert?

hans wrote:
> Das macht wohl jeder einmal.
>
> Kluge bleiben bei einmal!
>
> gruß hans

Es ist schon komisch, ich hab noch gedacht als ich das Signal 
kontrolliert habe: " hm, mal 8", aber auf den Clockdivision bin ich 
nicht darauf gekommen.
Da sieht man den Wald vor lauter Bäumen nicht, na ja gestern war ja auch 
Freitag der 13.

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.