Sterrenhemel Deel2

Bavelt

Golden Member

Op 17 mei 2021 17:52:42 schreef Arco:
DIP gebruik ik alleen soms voor wat testjes, verder nooit meer. (meestal ssop, qfp, of msop)
Er zijn wel wat DIP versies in de 24FJ familie (zoals de xxGA1xx en xxGA2xx), maar die zijn net zo duur als een 80 of 100 pinner, dus waarom zou je die kiezen?

Hoe kan ik ze anders testen? Een breadboard gaat niet meer lukken. Of is er wellicht een 'socket' o.i.d. waar je ze in kunt doen?

Dus niet eerst een printplaat maken..

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

Ik maak altijd meteen een proefprint (kost tegenwoordig toch geen drol meer)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bavelt

Golden Member

De sterrenhemel doet het nu best wel goed. Dankzij verbeteringen aan het programma. Plus de inbouw van 'compensatie' middelen, zoals WatchDog en een Power Reset bij 'hangen' (komt overigens bijna tot niet meer voor).

Maar er zit nog wel een apart probleempje: Er blijft een aantal ledjes héél flauwtjes branden, terwijl die eigenlijk helemaal uit moeten zijn.
In daglicht zie je het amper, in het donker zijn ze wél zichtbaar.
Maar dat moet dus niet. Ze moeten helemaal uit zijn en geen licht meer produceren.

De bijbehorende MAX7219's reageren wel op het binnenkomende 0x0C (shutdown) commando, dan krijg ik ze alsnog uit, maar bv niet op 0x0A om de helderheid te wijzigen.
En ook niet op het schrijven van nullen.
Vreemd...

Het lijkt er dus een beetje op dat enkele Max-en 'lekken' of zoiets.

Is dit een bekend verschijnsel?

Fouten zijn het bewijs dat je het probeert..
Bavelt

Golden Member

Het probleem zit hem wellicht - of liever waarschijnlijk - in een MAX7219, maar de panelen zitten aan het plafond en deze verwijderen zou weer een brekerij opleveren.
Daarom heb ik - ook nu weer - het kunnen oplossen met het bestrijden van het symptoom:

Bij de 'Fading Heaven', m.a.w. de sterren doven één voor één, tel ik hoeveel er nog 'aan staan'.
Als de teller eenmaal op 0 staat, dan volgt het command Max_Write(0x0c, 0x00), ofwel shut off display.

Dan is alles uit, zoals bedoeld... ;)

Als het niet kan zoals het moet, dan moet het maar zoals het kan! :)

Fouten zijn het bewijs dat je het probeert..
Bavelt

Golden Member

Wanneer ik SPI gebruik, bijvoorbeeld bij een PIC16F1936, Dan heb ik in het programma gezet:

pic basic code:



Dim ClockPin As sbit at PORTC.3           'pin 14                   'Clock
    Datapin  As sbit at PORTC.5           'pin 16                   'SDO

Maar omdat de SPI-pinnen hardwarematig bepaald zijn, kan ik bovengenoemde statements ook gewoon weglaten. Dan werkt het gewoon.

Verdient het desalniettemin aanbeveling ze tóch op te nemen of juist liever niet?

Fouten zijn het bewijs dat je het probeert..
Arco

Special Member

Wordt nooit gebruikt dus wordt er bij compileren automatisch uitgesloopt...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bavelt

Golden Member

Ah, ok.
Dan zou ik het dus alleen kunnen laten staan als documentatiedoel...
(heb je de gebruikte pinnen bij elkaar staan).

Fouten zijn het bewijs dat je het probeert..
Bavelt

Golden Member

Die 1936 is trouwens ook wel een aardig ding. :) Compact en redelijk wat I/O pinnen in DIP-28 uitvoering.

Fouten zijn het bewijs dat je het probeert..