Fórum témák
» Több friss téma |
Fórum » CCS PIC Compiler
még egy infó:
az LCD.c driver alapból csak a B és D portokat tudja használni. Én kiterjesztettem a C portra is. PIC16-al jól megy. De mint írtam a PIC18-al nem müxik. Viszont úgy láttam nincsen releváns különbség a PORTC esetében a két típusnál. @vicsys: elkötés nem lehet, mivel ugyanabba a nyákba megy a 18-as mint a 16-os. A fuse lehet, de nem tudom mit kellene beállítani neki... P
Idézet: „úgy láttam nincsen releváns különbség a PORTC esetében a két típusnál.” Kivéve, hogy a 18f2455nél nincs RC3. Idézet: „A fuse lehet, de nem tudom mit kellene beállítani neki...” Ezek közül valamelyiket nézted már? 1. Adatlap; 2. MPLAB Help > Topics... > PIC18 Config Settings; 3. PIC header fájl PICC/Devices... mappa;
Mármint a PIC18F2455-tel a C porton? Hogyan is működne? RC3 bit nincs, RC4 és RC5 pedig csak digitális bemenet lehet (nincs hozzájuk rendelt TRIS bit), de ehhez az USB modult le kell tiltani (UCON<3> = 0) és a mikrovezérlőben levő USB transceivert is le kell tiltani (UCFG<3> = 1).
Helló!
Ott a pont, elnézést az amatőr hibáért! Nem gondoltam volna, hogy ekkora a különbség a portok tekintetében. Az RC4 és RC5 a hunyó. (Az pin3-at nem használja a LCD.c driver egyik porton sem). Köszi még egyszer a segítséget! Üdv: P
Üdv!
Megint én lennék egy amatőr kérdéssel.
Ez az "& 1<<2" nem világos. A program többi feléből következtetek, hogy két érték között billeg az órajel függvényében de nem értem, hogy hogyan. Szinte nevetséges de ezt az alig 6 karaktert tartalmazó sort kifejtenétek légyszíves? Előre is köszi.
Szia,
Ez a sor timer0 2. bitjét vizsgálja. A get_timer0() visszaadja a timer0 aktuális értékét. Az & 1<<2 pedig a timer0 aktuális értékéből kimaszkolja a 2. bitet. Az 1<<2 az tulajdonképpen 0b00000100 értéknek felel meg. Tehát így is írhatnánk a sort:
Vagyis ennek a sornak logikai kimenete 1, ha timer0 2 bitje 1. Minden más esetben 0.
Sziasztok!
Próbálta már valaki MpLabX alatt használni a CCS fordítót? Működik vele? Érdemes átállni? Köszi előre is!
Szia!
Nagyon szépen köszönöm a választ.
Nekem megy....
Hogy érdemes-e? Ezt ki-ki döntse el... attól függ miért.
Sziasztok,
A következő problémának a megoldásában kérnék segítséget: egy PIC EEPROMjának bizonyos címeiről kellene a soros porton keresztül egy másik PIC EEPROMjába küldeni és menteni adatokat. Egyszer 1, máskor 2 byte-ot. Hogyan lehet megoldani, hogy a cél PIC tudja, hogy hová kell mentenie az éppen küldött adatot? Az EEPROM címet is el kell küldeni neki? honnét tudja az adó PIC, hogy a vevő hiánytalanul megkapta az információt? Kössz. Buddha Idézet: Ha nem programozod le előre, akkor mindenképpen ( pl. ha egy adat mindig a 0. címre kerül, 2 adat a 0 és 1 címekre, akkor ezt nem kell elküldeni ! ). Valószínűleg nem egy vagy két adatot akarsz összesen lementeni, akkor még valami más azonosítóra is szükséged lesz!„Az EEPROM címet is el kell küldeni neki?” Ha biztos akarsz lenni az átvitelben, akkor visszajelzés kell és a mentés előtt is célszerű ellenőrizni az adatot ( nehogy hülyeséget tárolj le !) pl. CRC segítségével! Steve
Sziasztok!
MicroSD kártyát szerettem volna olvasni 18LF2550-el, de eddig akár mit csináltam vele inicializálási hiba jön belőle. A kártya jó, mert PC-vel tudom írni olvasni formázni mindent, a nyákot már vagy 10-szer végigmértem, már a neten fellelhető programok jó részét végigpróbáltam de a jelenség ugyanaz, mmc init error. Ezt a kapcsolást próbálom megcsinálni kisebb átalakításokkal (ezt a részt nem érinti) de egyszerűen nem megy. ![]() Tudna valaki küldeni egy működő hw SPI-s microsd kártyaolvasó programot? Esetleg kicsi lenne a 10K-s felhúzó ellenállás?
Sziasztok! Szerintetek hol hibáztam a delay_ms(1000) az miért nem 1000ms-um?
Válaszotokat előre is köszönöm.
Az a gond, hogy 2mp-ként villanik a led? Az azért van, mert 1mp a világos és 1mp a sötét idő. Ha 1mp-kénti villanást szeretnél csökkentsd 500ms-ra, mindkét értéket.
A delay_ms(1000) nálam mplab simulatorral 38uS nagyon nem értem... Tudom nem illik ezt a delay függvényt használni....
Biztos valamit nagyon bénázok..... feltegyem nektek az egész forrást, hogy ki tudjátok próbálni?
Próbáltam úgy, hogy a configuration biteket az mplab-ban állítom be, és érdekes módon az "oscillator selection bit mindig visszavált ECH módba pedig belső oscillatort szeretnék.
Feltettem a programot nézzétek meg, ha van időtök.
Valoszinu a fordito a ludas. Atraktam 12F683-ra es rendesen adja a delay-t. Talan nezz szet a CCS foruman hatha van valami trukk.
Ajjaj akkor tényleg át fogok most térni másik c fordítóra.
Talan frissiteni kene a forditot, vagy szetnezni a foruman. Lehet hogy van valami bug. Mondjuk regota hasznalom ezt a forditot, de meg nem talalkoztam semmi komolyabb problemaval. Majd ha raerek belenezek ujra.
A 4.120 kivalo. A regebbi 4.114 hu:le.
Tudsz nekem egy okos linket ahonnan le tudom ugrasztani a 4.120-ást?
Haat... itt a forumon nehez, de a sonsi.... forumon nezz korul. Talan 4128 az utolso.
Hát én kipróbáltam a kódodat PIC és más változtatás nélkül - csak a PIC headerét raktam idézőjelbe - és a késleltetés 1mp-et mutat (meg egy kicsivel többet).
Ahogy vilmosd írta 4.128 a legutóbbi azon a fórumon...
A regi es az uj header nem egyezik. A fiuk dolgoztak 2010 marciusa ota, es kiszedtek a bogarakat. a 120-as es a 128-asokon koppanas nelkul megy a MPSIM, es az idozites egzakt.
Igen, fordításnál rögtön hibát is dobott a setup-comparator-ra. Kipróbáltam a még nálam fellelhető 4.120 előtti fordítóval, a messer által mellékelt headerrel is. Hát valóban katasztrófa a delay bugja.
![]()
Üdv mindenkinek!
Két napja küzdök egy sleep()-el, de egyszerűen nem megy.... nem áll meg a sleep-nél. Akár mit csinálok, ez a dög nem akar elmenni csucsukálni. Mit csinálok rosszul? (18LF2550)
|
Bejelentkezés
Hirdetés |