Microchip xc8, strängar

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Microchip xc8, strängar

Inlägg av BJ »

Ja, så långt hänger jag med.
Men det står "alternate port", så jag funderar på vad som
händer med RB6 och RB7.
Men man kanske kan använda båda portarna.

Annars kan man ju tänka sig att RB6 och RB7
slutar att fungera, och man måste programmera kretsen
genom den andra porten.
Annars kunde man väl ha haft dubbla portar från början,
i stället för oanslutna ben.

Tillägg:
Men det kanske är för att det är samma krets som används
med både 40 och 44 ben.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Microchip xc8, strängar

Inlägg av sodjan »

Det är för att frigöra RB6 och RB7 till annat utan att behöva
ta hänsyn till att pinnarna ibland drivs från en programmerare.

> Men man kanske kan använda båda portarna.

Kanske, det är inte helt tydligt, men varför?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Microchip xc8, strängar

Inlägg av TomasL »

Av kompabilitetsskäl ligger programmeringsportarna som standard på RB6/RB7, det gör den på alla PICar (i princip), detta innebär att man (i princip) inte kan använda RB6 och RB7 till några andra funktioner.
På vissa mångbeniga PICar har man lagt till möjligheten att använda andra pinnar för detta, så man kan använda B-porten till andra saker.
På vissa PICar hamnar då programmeringspinnarna på en annan port, och på vissa (som i det här fallet) på helt oanvända ben, vilka inte kan användas till något annat.
Denna möjligheten har du INTE på 40-pinnars kretsen, men väl på 44-pinnarn.
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Microchip xc8, strängar

Inlägg av BJ »

Ja, just det.
sodjan skrev:> Men man kanske kan använda båda portarna.

Kanske, det är inte helt tydligt, men varför?
Jag är bara nyfiken. Det kan vara bra att veta.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Microchip xc8, strängar

Inlägg av TomasL »

Vilka "båda portar" menar du.
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Microchip xc8, strängar

Inlägg av BJ »

Jag menar om man programmerar om en 44-bens-krets
så att den använder den andra porten med serie-data
och serie-klocka. "Alternate port".
Alltså motsvarigheten till RB6 och RB7.
Det jag funderar på är vad som händer med RB6 och RB7 då.
Om det paret blir oanvändbart för programmering eller avlusning,
eller om båda kanalerna går att använda för programmering
eller avlusning. Kanske inte samtidigt, men en i taget.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Microchip xc8, strängar

Inlägg av sodjan »

Ja, alltså. Det står i databladet att *all* programmering av ICPRT biten
måste ske via RB6/RB7 och min tolkning av det är att båda "portarna"
fungerar parallellt. Men självklart är hela idén att man ska kunna använda
RB6/RB7 i en viss design utan att ta hänsyn till programmeringen.

Det borde även betyda att man inte kan köra direkt på de alternativa
pinnarna på en krets som kommer direkt från fabrik, man måste minst
*en* gång köra via RB6/RB7 för att sätta ICPRT biten.
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Microchip xc8, strängar

Inlägg av BJ »

Här är en länk till ett forum.
http://www.microchip.com/forums/m242003-print.aspx

En av personerna har skrivit som du, att man måste
slå på det genom att programmera genom RB6 och RB7,
och det går inte att låsa sig ute från den nya porten
genom att programmera genom den nya porten.

Jag har inte hittat något än om att RB6 och RB7
fungerar hela tiden.
Men verifieras inte allt som man programmerar?
I så fall borde ju kommunikationen fortsätta att fungera.
Annars kan man ju inte göra det.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Microchip xc8, strängar

Inlägg av sodjan »

Verifieringen kan ju ske under samma session, d.v.s innan
man "släpper tillbaka" MCLR igen. Det kan även vara så att
ändringen inte "tar" förrens efter en reset. Jag vet inte, men
de borde ha tänkt på det i alla fall... :-)
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Microchip xc8, strängar

Inlägg av BJ »

Ja, jag vet inte heller. :humm:
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Microchip xc8, strängar

Inlägg av BJ »

Nu har jag kommit till dom vanliga inställnigarna.
Jag trodde att man kunde ge bitarna 0 eller 1 som värde,
men jag gjorde något fel.

INTCON.GIE = 0; // 0 = Disables all [high priority] interrupts.

ger

struct/union required

Kan man inte ge en bit i taget ett värde?
Eller ska man skriva på ett annat sätt?
Söker man efter bit i bruksanvisningen så får man
över 700 träffar. Kanske något annat sökord?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Microchip xc8, strängar

Inlägg av sodjan »

En länk till "bruksanvisningen" vore bra så behöver vi inte
leta eller att riskera att kolla i fel dokument.
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Microchip xc8, strängar

Inlägg av BJ »

Den följde med när jag installerade programmet,
men det här verkar vara samma (DS50002053C):

http://ww1.microchip.com/downloads/en/D ... manual.pdf
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Microchip xc8, strängar

Inlägg av sodjan »

> INTCON.GIE = 0;

Sidan 143, "5.3.6 Using SFRs From C Code".

Prova antingen GIE = 0; eler INTCONbits.GIE = 0;.
Båda bör fungera.
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Microchip xc8, strängar

Inlägg av BJ »

Aha, jag hade missat bits.

Tack. :tumupp:
Skriv svar