[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