SPI Mega8 funktioniert nur sporadisch?

Gast #2875637
Lesenswert?

Hallo,

ich hoffe es kann mir jemand weiterhelfen.
Ich möchte per HW-ISP Daten an einen anderen µC senden.
Der folgende Quellcode funktioniert nur spontan, d.h. nicht jedes Mal
wenn ich den Taster betätige werden die Daten gesandt sondern nur ab und 
zu. Woran kann das liegen?

Schonmal vielen Dank im Voraus, dani


$regfile = "m8def.dat"
$crystal = 4915000

$hwstack = 40
$swstack = 32
$framesize = 400

Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , 
Polarity = Low , Phase = 0 , Noss = 1 , Clockrate = 128

Spiinit

Config Portb.0 = Input : Taster Alias Pinb.0                'Taster

'*********************************************************************** 
*
Do
   If Taster = 0 Then
       Spdr = &H5F
       waitms 100
       Do : Loop Until Taster = 1
   End If

Loop
'*********************************************************************** 
**
End
Gast #2875691
Lesenswert?

Ich denke nicht das es am Taster liegt, ich habe diesen mit 100nF 
entprellt und lt. Oszi gibt es nur einen sauberen Schaltimpuls.
Aber um diesen Fehler ganz auszuschließem habe ich den Taster jetzt 
weggelassen und sende die Daten in einer Schleife alle 1s.
Aber auch hier funktioniert es nur sporadisch. Was auffällt, beim 
anlegen der Versorgungsspannung funktioniert es reproduzierbar immer 1x.
Ich denke ich muss irgend ein Register wieder zurücksetzen, habe aber 
außer "spif" noch nichts gefunden was noch damit zu tun haben könnte.



'Ausgänge
Config Portc.5 = Output : Led Alias Portc.5                 'LED

'********************************************************************
Do

   Led = 1
   Spdr = &H5F
   Wait 1
   Led = 0
   Wait 1

Loop
'*******************************************************************
End
Gast #2876705
Lesenswert?

Hi

>Der SS Eingang muss mit einem PullUp Wiederstand nach VCC gezogen werden
>um einen definierten Highpegel zu gewährleisten. Liegt an SS Low an,
>schaltet ISP in den Slavemode zurück.

Ausgang hätte auch gereicht.

MfG Spess

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren