mplab
Moderátori: psichac, Moderátori
Re: mplab
Zrejme ide o RMW problem, ktory strasil predovsktym u PIC16Fxxx, ale u novsich PIC (PIC16F1xxx, PIC18 a vyssie) sa da defacto na 100% eliminovat tym, ze sa vystupne hodnoty na port zapisuju do registra LATx a citaju z restria PORTx
Len pre info:
http://www.cornerstonerobotics.org/curr ... roblem.pdf
http://data.bolton.ac.uk/staff/ks3/ECE1 ... ywrite.pdf
http://www.piclist.com/techref/readmodwrite.htm
http://www.mikroe.com/download/eng/docu ... lp/rmw.htm
Len pre info:
http://www.cornerstonerobotics.org/curr ... roblem.pdf
http://data.bolton.ac.uk/staff/ks3/ECE1 ... ywrite.pdf
http://www.piclist.com/techref/readmodwrite.htm
http://www.mikroe.com/download/eng/docu ... lp/rmw.htm
0
Re: mplab
Tak.
Ak chces nastavit pin RA0, tak napis
namiesto
Ako som pisal, vsetky vystupne operacie tlacit na LATx registre.
Ak chces nastavit pin RA0, tak napis
Kód: Vybrať všetko
LATA0=1;
Kód: Vybrať všetko
RA0=1;
0
Re: mplab
Kód: Vybrať všetko
// CONFIG1
#pragma config FOSC = INTOSC // Oscillator Selection (INTOSC oscillator: I/O function on CLKIN pin)
#pragma config WDTE = OFF // Watchdog Timer Enable (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable (PWRT disabled)
#pragma config MCLRE = ON // MCLR Pin Function Select (MCLR/VPP pin function is MCLR)
#pragma config CP = OFF // Flash Program Memory Code Protection (Program memory code protection is disabled)
#pragma config CPD = OFF // Data Memory Code Protection (Data memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Enable (Brown-out Reset enabled)
#pragma config CLKOUTEN = OFF // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
#pragma config IESO = ON // Internal/External Switchover (Internal/External Switchover mode is enabled)
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is disabled)
// CONFIG2
#pragma config WRT = OFF // Flash Memory Self-Write Protection (Write protection off)
#pragma config PLLEN = OFF // PLL Enable (4x PLL enabled)
#pragma config STVREN = ON // Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset)
#pragma config BORV = LO // Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), low trip point selected.)
#pragma config LVP = OFF // Low-Voltage Programming Enable (Low-voltage programming enabled)
0
Re: mplab
Pri debugu by ti aj tak boli nanic, lebo tie dva piny PGD/PGC su "vypnute" od IO budicov a rezervovane pre komunikaciu s debuggerom.
Inak, nemali by na tychto pinoch vadit trebars pull-down odpory, 10k a viac. Ja takto pouzivam tlacidla (pull-down k zemi, tlacidlo v Vdd), oddebugujem si co treba, casti kodu pre tlacidlo si uz vyriesim bez debuggeru.
Ale snazim sa nechavat PGD/PGC vzdy volne, pokial je to aspon trochu mozne.
Inak, nemali by na tychto pinoch vadit trebars pull-down odpory, 10k a viac. Ja takto pouzivam tlacidla (pull-down k zemi, tlacidlo v Vdd), oddebugujem si co treba, casti kodu pre tlacidlo si uz vyriesim bez debuggeru.
Ale snazim sa nechavat PGD/PGC vzdy volne, pokial je to aspon trochu mozne.
0
Re: mplab
jaromir napísal: Ale snazim sa nechavat PGD/PGC vzdy volne, pokial je to aspon trochu mozne.
už som to viacerím vysvetloval, ale robil som často tú chybu že som nemal dosť voľných pinov a vždy som niečo zavesil na PGD resp PGC. proste som ako večšina nechcel akceptovať viacpinové PICka , až som sa sám na seba nasral a istú dobu ako prvý popis pri projekte som si nalísal túto čarovnú vetu :
a verte mi že som sa rýchlo odnaučil tie piny používať" ; ******************************************************
; ******** REGULACIA NA PEC s 16bit A/D ******************
; ******************************************************
; RB<7,6> - ENKODER --- UZ NIKDY TO TAKTO NEZAPAJAT ---> problém s debuggáciou !!!!!!!!!!!!!! -
; ak to ešte raz tak spravím , tak som úbohý čuráááák "
mimochodom ak potrebujete miesto tak schodná cesta je správne púzdro napríklad 44pin TQFP má rozmer 1 x 1 cm!! a QFN ešte nenej a v pohode sa to dá letovť , takže nie meniej pinov ale správne púzdro
0
osvitka: http://tinyurl.com/7e58nul
pec: http://tinyurl.com/zr3gw8t
maska: http://tinyurl.com/hodwv79
leptanie: http://tinyurl.com/gpsgq6g
prekovy: http://tinyurl.com/zr48jn2
pec: http://tinyurl.com/zr3gw8t
maska: http://tinyurl.com/hodwv79
leptanie: http://tinyurl.com/gpsgq6g
prekovy: http://tinyurl.com/zr48jn2
Re: mplab
Jasne, zdrojak je pre podrobnu analyzu potrebny. Zatial som este nevycerpal vsetky moznosti a ten zdrojak je neuverejnitelny, resp je to prvy odvar a za niektore veci obsahuju zaciatocnicke chyby.
Budem luskat - tak sa daco s MPLAB naucim a az pridem k neriesitelnemu stavu, predhodim ho do diskusie.
Takze dalsie:
po aktualizacii sa ukazalo, ze prerusenie chodi na C1IF, nie TIMER1. Ci bola chyba v predchadzajucej instalacii, alebo kde neviem. Mno a to je otazka, ako generuje C1IF, komparator je spusteny, skonfigurovany, ale cielene na vstupy neposielam ziaden signal. Skratka v nejakom case hodi C1OUT do 1.
Co sa tyka zobrazovania, aktualizacie hodnot v okne SFR, stalo sa ze hodnoty neboli aktualizovane, ale po deaktivacii a opatovnej aktivacii okna SFR sa hodnoty opat aktualizovali. Je mozne ze to ma suvis so sposobom prevadzky ( VMware )
Budem luskat - tak sa daco s MPLAB naucim a az pridem k neriesitelnemu stavu, predhodim ho do diskusie.
Takze dalsie:
po aktualizacii sa ukazalo, ze prerusenie chodi na C1IF, nie TIMER1. Ci bola chyba v predchadzajucej instalacii, alebo kde neviem. Mno a to je otazka, ako generuje C1IF, komparator je spusteny, skonfigurovany, ale cielene na vstupy neposielam ziaden signal. Skratka v nejakom case hodi C1OUT do 1.
Co sa tyka zobrazovania, aktualizacie hodnot v okne SFR, stalo sa ze hodnoty neboli aktualizovane, ale po deaktivacii a opatovnej aktivacii okna SFR sa hodnoty opat aktualizovali. Je mozne ze to ma suvis so sposobom prevadzky ( VMware )
0