tips, PIC m intern oscillator

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

tips, PIC m intern oscillator

Inlägg av mrmike »

Om det är nån som har tänkt leka med någon PIC med intern oscillator så kan jag tipsa om att man bör se till så att man inte raderar det fabriksinställda kalibreringsvärdet, något jag nyss gjorde. Kalibreringsvärdet ligger som en RETLW VÄRDE sist i programminnet. Turligt nog behöver jag ingen precision så jag har stoppat in ett värde från ett annat chip av samma modell och det verkar funka.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Inget man behöver oroa sig för om man kör högnivåspråk?
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

Det kan jag inte svara på, men så länge brännarprogrammet inte skriver över de två sista byten (OSCCAL) i programminnet så klarar man sig. Jag kör IC-Prog 1.05C och den frågar om man vill skriva över PICens OSCCAL med det som finns i hex-filen. Det var här jag råkade välja att den skulle skriva över med bytsen från hex-filen vilka va 0x3FF d.v.s. ingen RETLW så programmet callade slutet av minnet som det skulle men hoppade aldrig tillbaka.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Hmm. Jag kör med ISP-PRO 5.2 som programmerare. Hittar ingen liknande inställning just nu iaf.

Har detta något med variabellagring i EEPROMet att göra? Om man sparar en variabel i EEPROM lagras den sist i programminnet. Som du säger, ligger OSCCAL där. Jag hoppas kompilatorn tar hänsyn till detta. (kör PicBasic. Kan ej assembler, så jag har inte så bra koll... :eh: )
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

EEPROMet är väl dataminnet och ligger efter programminnet (flash-EPROM)? Iaf om man vill vara på den säkra sidan kan man första gången man testar läsa ur och spara innehållet i PICen.
gvs
EF Sponsor
Inlägg: 1688
Blev medlem: 18 oktober 2003, 14:20:34
Ort: Göteborg
Kontakt:

Inlägg av gvs »

Hm ska snart bränna några 12f629 och fundear på om jag måste bry mig om detta? använder mplab med picstart+
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

Detta gäller 12f629/675 också. mplab frågar troligtvis när du programmerar/raderar.
danei
EF Sponsor
Inlägg: 27416
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

En ide kan ju vara att läsa ut värdet, så man kan lägga in det igen om man råkar radera det.
gvs
EF Sponsor
Inlägg: 1688
Blev medlem: 18 oktober 2003, 14:20:34
Ort: Göteborg
Kontakt:

Inlägg av gvs »

bara en vanlig read memory innan man programmerar eller?
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

MPLAB förstör inte kallibreringsvärdena vid normal flashning, tror inte ens att dom påverkas vid en erase i MPLAB och PicStart.

Men för att vara på säkra sidan så har jag läst av värdena och skrivit dom på undersidan av kretsarna.
brodin
Inlägg: 19
Blev medlem: 15 mars 2004, 14:31:22

Inlägg av brodin »

Det spelar ingen roll om man skriver i ett högnivåspråk eller i assembler.
Det beror på programmerings mjukvaran. Jag använder WinPic, det läser automatiskt in värdet och skriver det sedan när du kör erase eller programmerar.

Men kom ihåg att PIC:en fungerar även med fel värde. Om du råkar ta bort värdet. Skriv in tex:
3478 eller 347C

Har du ett occiloskop och en till pic med 4MHz kristall till så kan du ju ganska enkelt justera in värdet igen!
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Med en extern 5HKz-källa man man få PIC'en att autokallibrera sig medelst ett litet program. http://www.microchip.com/download/appno ... 00250a.pdf
Skriv svar