Trasigt datablad PIC 16F630...
Postat: 11 september 2008, 19:43:46
Som jag ser det så är där ett fel i databladet till 16F630.
På sidan 19 finns "Example 3-1" med detta innehåll:
Avsnittet som är markerat uppfattar jag som att det skulle sätta bits 0, 1, 2 som digitala pinnar genom att stänga av komparatorn, men så är det inte. För att få detta resultat skall "5" bytas mot "7", vilket tydligt framgår om man läser avsnittet om komparatorn.
Eftersom det var porten jag skulle använda och informationen om avstängning tycktes finnas i rutan så tog det en god stund att komma på att databladet innehöll blaj. Den självklara slutsatsen när det inte fungerar är ju alltid att det är ett eget misstag... Nu var det RMW-problem istället på grund av denna fnurra.
Förresten så har jag alltid förundrats över att de analoga funktionerna är ON som default. OFF skulle vara mycket mera naturligt och att de startades vid behov. Då skulle användaren dessutom vara motiverad att detaljläsa det analoga avsnittet och problemen skulle bli färre för alla.
På sidan 19 finns "Example 3-1" med detta innehåll:
Kod: Markera allt
.
EXAMPLE 3-1: INITIALIZING PORTA
REGISTER 3-1: PORTA PORTA REGISTER (ADDRESS: 05h)
bcf STATUS,RP0 ;Bank 0
clrf PORTA ;Init PORTA
>movlw 05h ;Set RA<2:0> to<
>movwf CMCON ;digital I/O<
bsf STATUS,RP0 ;Bank 1
clrf ANSEL ;digital I/O
movlw 0Ch ;Set RA<3:2> as inputs
movwf TRISA ;and set RA<5:4,1:0>
;as outputs
bcf STATUS,RP0 ;Bank 0
Eftersom det var porten jag skulle använda och informationen om avstängning tycktes finnas i rutan så tog det en god stund att komma på att databladet innehöll blaj. Den självklara slutsatsen när det inte fungerar är ju alltid att det är ett eget misstag... Nu var det RMW-problem istället på grund av denna fnurra.
Förresten så har jag alltid förundrats över att de analoga funktionerna är ON som default. OFF skulle vara mycket mera naturligt och att de startades vid behov. Då skulle användaren dessutom vara motiverad att detaljläsa det analoga avsnittet och problemen skulle bli färre för alla.