mplab

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
jaromir
Power user
Power user
Príspevky: 4538
Dátum registrácie: 08 Júl 2011, 00:00
Vek: 40

Re: mplab

Príspevok od používateľa jaromir » 23 Aug 2013, 08:06

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
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 23 Aug 2013, 08:28

Takze prikaz
RA0 = 0;
je vlastne zlozeny prikaz R+W a ten moze sposobit onen problem.
To som bol v tom, ze je to bitova operacia.

Ajaj, takze to plati aj pre ASM.

Diky chlapi, vecer rozanalyzujem.
0
Naposledy upravil/-a xmilos v 23 Aug 2013, 08:39, upravené celkom 1 krát.

Používateľov profilový obrázok
jaromir
Power user
Power user
Príspevky: 4538
Dátum registrácie: 08 Júl 2011, 00:00
Vek: 40

Re: mplab

Príspevok od používateľa jaromir » 23 Aug 2013, 08:36

Tak.
Ak chces nastavit pin RA0, tak napis

Kód: Vybrať všetko

LATA0=1; 
namiesto

Kód: Vybrať všetko

RA0=1;
Ako som pisal, vsetky vystupne operacie tlacit na LATx registre.
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 23 Aug 2013, 08:41

Mam obavu, ze to co mam na stole ( vcetne toho co mi vezie UPS - ka ) LATA nepozna
A toto pravdepodobne plati pre PORTA - ( obsahuje aj analog ) . PORTB zda sa funguje.
0

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: mplab

Príspevok od používateľa petersno » 23 Aug 2013, 08:44

taka znama vec a nenapadla ma :? ale nemalo by sa to spravat rovnako aj pri zapise cez POTRA ?
0

Používateľov profilový obrázok
jaromir
Power user
Power user
Príspevky: 4538
Dátum registrácie: 08 Júl 2011, 00:00
Vek: 40

Re: mplab

Príspevok od používateľa jaromir » 23 Aug 2013, 08:47

Pre info - napis co ti vezie UPS-ka a co mas na stole.
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 23 Aug 2013, 08:50

Na zaciatku som spomenul pre ktory typ to riesim - PIC 16F628 a objednane mam PIC 16F1826
0

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: mplab

Príspevok od používateľa petersno » 23 Aug 2013, 08:52

PIC16F1826 uz LAT pozna
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 17 Sep 2013, 19:05

Chlapi radu:
nejde mi HW debug pre PIC16F1826@PICkit3
Hlasi "The target device is not ready for debugging. "
0

Používateľov profilový obrázok
jaromir
Power user
Power user
Príspevky: 4538
Dátum registrácie: 08 Júl 2011, 00:00
Vek: 40

Re: mplab

Príspevok od používateľa jaromir » 17 Sep 2013, 19:15

Ukaz konfiguracne bity.
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 17 Sep 2013, 19:16

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

Používateľov profilový obrázok
jaromir
Power user
Power user
Príspevky: 4538
Dátum registrácie: 08 Júl 2011, 00:00
Vek: 40

Re: mplab

Príspevok od používateľa jaromir » 17 Sep 2013, 19:18

To vyzera dobre. Skus dat BOREN = OFF
Programovanie ti prebehne ako ma?
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 17 Sep 2013, 19:20

Tak sa to pohlo, mal som zavesene LED - ky na ICSPCLK a ICSPDATA
Pre programovanie to nevadilo, pre debug ano.
Jaromir diky.
0

Používateľov profilový obrázok
jaromir
Power user
Power user
Príspevky: 4538
Dátum registrácie: 08 Júl 2011, 00:00
Vek: 40

Re: mplab

Príspevok od používateľa jaromir » 17 Sep 2013, 19:25

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.
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 17 Sep 2013, 19:44

Tak iny problem,

po nakom case zacne restartovat ( aktualna pozicia ide stale od main() ). WatchDog je OFF.
0

mato3000
Power user
Power user
Príspevky: 9767
Dátum registrácie: 04 Jan 2009, 00:00
Bydlisko: BA

Re: mplab

Príspevok od používateľa mato3000 » 17 Sep 2013, 20:43

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 :
" ; ******************************************************
; ******** 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 :-) "
a verte mi že som sa rýchlo odnaučil tie piny používať :wink:

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

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: mplab

Príspevok od používateľa petersno » 17 Sep 2013, 21:12

nejaky nevhodny skok v programe co moze sposobit stack overflow, pripojenie periferie s vacsim odberom, necakane opustenie programovej slucky a mnoho dalsich drobnych chyb ktore bez vypisu tazko hadat
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 18 Sep 2013, 06:12

petersno prave ze v priamom behu to ide, resetuje mi to az pri debugovani.
Pri SW simulacii mi hadze prerusenie od TIMER1 pri nakej hodnote oxdbe2, co za zda je haluz.
Mno nic, idem skusit aktualizovat na 1.9 verziu a skusim znova.
0

Používateľov profilový obrázok
jaromir
Power user
Power user
Príspevky: 4538
Dátum registrácie: 08 Júl 2011, 00:00
Vek: 40

Re: mplab

Príspevok od používateľa jaromir » 18 Sep 2013, 08:19

Nie som si isty, ci to pomoze.
Zistit co je zle je dost tazke, ak clovek nema moznost aspon vidiet kod, resp. cely projekt. Veci okolo SW simulacie sa daju takto urcite odstranit alebo aspon identifikovat bugy, ak su.
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: mplab

Príspevok od používateľa xmilos » 18 Sep 2013, 09:01

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 )
0

Napísať odpoveď