[elektro] PPS

Nandor Szabo nandi at freemail.hu
Fri Feb 18 08:27:42 CET 2011


Szia!
     Itt van:
üdv: Nándi

1269:                   __builtin_write_OSCCONL(OSCCON & 0xBF);  // Unlock PPS
 131B2  803A11     mov.w 0x0742,w1
 131B4  200BF0     mov.w #0xbf,w0
 131B6  608100     and.w w1,w0,w2
 131B8  200461     mov.w #0x46,w1
 131BA  200570     mov.w #0x57,w0
 131BC  207423     mov.w #0x742,w3
 131BE  784981     mov.b w1,[w3]
 131C0  784980     mov.b w0,[w3]
 131C2  784982     mov.b w2,[w3]
1270:              
1271:                   // Inputs
1272:                   RPINR20bits.SDI1R = 21;
 131C4  206A81     mov.w #0x6a8,w1
 131C6  784091     mov.b [w1],w1
 131C8  B3CC00     mov.b #0xc0,w0
 131CA  60C000     and.b w1,w0,w0
 131CC  B34150     ior.b #0x15,w0
 131CE  B7E6A8     mov.b w0,0x06a8
1273:                   RPINR0bits.INT1R = 26;
 131D0  206811     mov.w #0x681,w1
 131D2  784091     mov.b [w1],w1
 131D4  B3CC00     mov.b #0xc0,w0
 131D6  60C000     and.b w1,w0,w0
 131D8  B341A0     ior.b #0x1a,w0
 131DA  B7E681     mov.b w0,0x0681
1274:                   RPINR19bits.U2RXR = 17;
 131DC  206A61     mov.w #0x6a6,w1
 131DE  784091     mov.b [w1],w1
 131E0  B3CC00     mov.b #0xc0,w0
 131E2  60C000     and.b w1,w0,w0
 131E4  B34110     ior.b #0x11,w0
 131E6  B7E6A6     mov.b w0,0x06a6
1275:                   
1276:                   // Outputs
1277:                   RPOR9bits.RP19R = SCK1OUT_IO;
 131E8  206D31     mov.w #0x6d3,w1
 131EA  784091     mov.b [w1],w1
 131EC  B3CC00     mov.b #0xc0,w0
 131EE  60C000     and.b w1,w0,w0
 131F0  A03400     bset w0,#3
 131F2  B7E6D3     mov.b w0,0x06d3
1278:                   RPOR13bits.RP27R = SDO1_IO;
 131F4  206DB1     mov.w #0x6db,w1
 131F6  784091     mov.b [w1],w1
 131F8  B3CC00     mov.b #0xc0,w0
 131FA  60C000     and.b w1,w0,w0
 131FC  B34070     ior.b #0x7,w0
 131FE  B7E6DB     mov.b w0,0x06db
1279:                   RPOR5bits.RP10R = U2TX_IO;
 13200  206CA1     mov.w #0x6ca,w1
 13202  784091     mov.b [w1],w1
 13204  B3CC00     mov.b #0xc0,w0
 13206  60C000     and.b w1,w0,w0
 13208  B34050     ior.b #0x5,w0
 1320A  B7E6CA     mov.b w0,0x06ca
1280:                   
1281:                   __builtin_write_OSCCONL(OSCCON | 0x40); // Lock PPS
 1320C  803A11     mov.w 0x0742,w1
 1320E  200400     mov.w #0x40,w0
 13210  708100     ior.w w1,w0,w2
 13212  200461     mov.w #0x46,w1
 13214  200570     mov.w #0x57,w0
 13216  207423     mov.w #0x742,w3
 13218  784981     mov.b w1,[w3]
 1321A  784980     mov.b w0,[w3]
 1321C  784982     mov.b w2,[w3]
1282:              
1286:
1287:                   AD1PCFG = 0xFFFF;       
 1321E  EB8000     setm.w w0
 13220  881960     mov.w w0,0x032c

> Szia!

> Be tudnád nekem másolni az ASM kódot, amit erre a C rutinra fordít az
> MPLAB? Ismerem ezt az utasítássorozatot, amit bemásoltál, benne van az
> adatlapban, én meg elvileg az ASM forrását másoltam be lejjebb, de 
> szerintem valami hiányzik belőle, mert nem akar működni. Feltűnt, hogy a
> kódodban van egy komment, hogy minden port analógra van állítva alapból.
> Ezt spec. nem néztem, de tudom programból billegtetni azt a portlábat,
> amin a led van, tehát elvileg nem lehet analóg, de majd megnézem ezt is.
> Igazából ebben:  __builtin_write_OSCCONL(OSCCON & 0xBF); // Unlock PPS
> van a trükk, ennek kellene nekem az ASM megfelelője, mert már kitéptem
> az összes hajam :S

> ToPe


> Nandor Szabo írta:
>> szia
>>
>> 24fj256gb106-on igy megy.
>> ez mondjuk C-ben van, de a lenyeg ugyanaz:
>> Ez nalam mukodik. SPI, UART, Interupt egyaránt.
>> Kicsit trukkos, mert bemenetnel a funkcioregiszterbe irod be hozzatartozo portlab szamat.
>> Kimenetnel viszont a portlabregiszterbe irod be a hozzatartozo funkcio szamat.
>>
>> üdv:Nándi
>>
>>         __builtin_write_OSCCONL(OSCCON & 0xBF);  // Unlock PPS
>>
>>         // Inputs
>>         RPINR20bits.SDI1R = 21;   //SDI1 = ez az spi1 adatbemenet lesz a pic-en
>>         RPINR0bits.INT1R = 26;    //INT1 = ez az interupt1 bemenet lesz a pic-en
>>         RPINR19bits.U2RXR = 17;   //RP17 = ez lesz a sorosport2 vetele a pic-en
>>         
>>         // Outputs
>>         RPOR9bits.RP19R = SCK1OUT_IO;   //RP19 = ez lesz az spi1 orajel kimenet a pic-en
>>         RPOR13bits.RP27R = SDO1_IO;     //RP27 = ez lesz az spi1 adatkimenet a pic-en
>>         RPOR5bits.RP10R = U2TX_IO;       //RP10 = ez lesz a sorosport2 adasa a pic-en
>>         
>>         __builtin_write_OSCCONL(OSCCON | 0x40); // Lock PPS
>>
>>         AD1PCFG = 0xFFFF;
>>         //figyelem: a portok analog modban vannak alapbol,
>>         //ha digitalis periferiakat hasznalunk, a megfelelo
>> portlabakat at kell konfiguralni analogbol, digitalisba
>>
>>  IOL1WAY nalam off -ban van.
>>   




More information about the Elektro mailing list