| Fórum témák 
 
 » Több friss téma | 
				Sziasztok! Ezt a programot szeretném UPP628-as programozóval beégetni: 
 A program szépen lefordult, az égetés után azt írja "Konfig word hiba". Az ellenőrzésre pedig ezt: "Kód hiba itt:0x0000 Kiolvasva 0x3FFF, ellenőrizva: 0x2FF2" Mi lehet az oka? Köszönöm! 
				Nem ismerem ezt a programozót... Ha csinálsz egy törlést és utána visszaolvasod, akkor mi van a config word-ben?						 
				Töröltem, majd visszaolvastattam és mindenhol 3FFF szerepel. 0x2007:3FFF.						 
				Próbáld ki hogy a konfigokat végig kikommenteled, újrafordítod, akkor így besül-e... Esetleg utána egyesével visszarakod a konfig sorokat és mindig próbálsz egyet sütni... 
				Minden verzióra ugyanez a hibaüzenet jön...						 
				Másik programozóval meg kellene próbálni, akkor kiderül hogy a pic, vagy az égető/sw a rossz						 
				Köszönöm. Egy 10 perces ki/bekapcsolással most hibátlanul lefutott.						 
				Most próbapanelen próbálom, de teljesen másképp működik, mint a program. 3 db 1,5 V-os elemről táplálom, stabil 4,71 V. Lehet, hogy kevés? Vagy lehet, hogy a próbapanel nem mindig érintkezik biztosan? Vagy kipurcant a PIC? Ha a kapcsolót be se kapcsolom, akkor is van a 9. kimeneten feszültség. Hol 3,8 V, hol 0 V, ingadozik. 
				Húzd fel a bemenetet 1 - 10 kΩ-os ellenállással. 4.71 V-nak bőven elégnek kell lennie.						 
				És gondolod, hogy ezzel a zűrzavaros  működés meg is oldodna?						 
				Egyébként 4k7 ellenállással fel van húzva.						 
				Ha a PIC rossz, akkor már az égetés ellenőrzésekor felmerül hiba, vagy előfordulhat olyan is, hogy hibátlanul beég a szoftver, de fizikailag mégis hibás a PIC?						 
				Nem közöltél kapcsolási rajzot, az ilyen hibás működések egyik alapja általában az, hogy lebeg a bemenet. Ha a programozáshoz használt lábak működnek, attól még a kontroller egyik-másik portja lehet hibás. Egyszerűsítsd le a programot a végletekig. Ha a bemenet magas, a kimenet is magas, ha a bemenet alacsony, a kimenet is. Ezzel ellenőrizhető egy ki- és bemenet páros. 
				Köszönöm! Ez önmagában is egyszerű volna, ha egy nyomógombot benyomunk, akkor meghúz egy relé tranzisztoron keresztül, majd 1 s után egy másik relé is meghúz. Utána kikapcsol a második relé, majd az első is. Ha hosszan nyomjuk a nyomógombot, akkor egy LED világít. De nem működik, ezért leegyszerűsítettem egy nyomógombra és egy LED-es kimenetre, amit az első relé helyére tettem. De gombnyomás nélkül is világít a LED, hol erősebben, hol kevésbé. Ahogy a programban is látszik csak egy bemenetet hagytam bemenetnek, a többi kimenet. A nyomógombot bekötöttem a bemenetet (RA0) és + 5V-ra közé, és a földet összekötöttem a bemenettel 4k7 ellenálláson át. Valószínű kuka a kontroller? 
				Ettől sokkal egyszerűbb programot készíts, a feltöltött eléggé zavaros. 
 
				Sziasztok! CRC32 -t próbálok ellenőrizni pic24 -el, de nem kapok jó eredményt. Az adatokat, és a CRC -t ellenőriztem egy webes crc generátorral, ott jó eredményt kapok. De a C kódom valahol hibás, nem találom hogy mi a baj vele. 
 A csatolt kép kijelölt sorában látszik, hogy kijön a helyes 0x697AA651 ellenőrző kód, de nekem nem sikerül ezt az eredményt kapnom. 
 
				Szia, A tömböd nem 177 hanem 176 hosszú. A rekord CRC-t a 172-175 index-ekről olvasod. Ezt javítva meg, kicsit más algoritmust használva működik: 
 
 
				Köszönöm, működik!						 
				Sziasztok! Valaki próbálta már UART-nál Asynchronous Address Mode-t. Úgy olvastam, ha 9. bit be van állítva, akkor címet vár ellenőrzi is, hogy helyes-e a cím, ha pedig 0 a 9. bit akkor adatot vár. Viszont csak akkor fogadja az adatot, ha előtte a cím egyezett az előre beállított címmel. Én most egy raspberry-ről küldök neki adatot, de úgy veszem észre, bármi amit elküldök neki, azt ő beolvassa, akkor is ha rossz címmel küldöm ki. Esetleg van valakinek erre ötlete, mit ronthatok el? (PIC18F26K83, az rpi-nél meg a paritást bitet billentgetem,hogy éppen címet v adatot küldök.) 
				Jó lenne kicsit konkrétabbá tenni a kérdést. Csatolj egy ábrát (szkóp / logikai analizátor), hogy mit küldött a Pi és azt minek értelmezte a PIC (nyilván ez utóbbiról nem kell ábra, elég ha leírod). 
				Egy számot(címet) és egy  karakter sorozatot küldök  a PI-ről és azt egy az egyben beolvasom UART-on és ki is küldöm UART-on, amit a PI beolvas és kiírja konzolon. A cím és minden karakter úgy ahogy van visszajön a PI-re, akkor is ha rossz címmel kezdem. Ugye ha rosszul értelmezne bármit is, akkor végképp nem kéne beolvasnia semmit.				 A hozzászólás módosítva: Szept 21, 2021 
				Délutánra tudok csak csinálni szkóp képet. Viszont addig segítenél, az miben fog előre elvinni, mit kell majd keresnem rajta?						 
				Az első kép az cím byte (0x01) a második az adat (0x06) és 115200 a baudrate.						 
				Szerettem volna látni, hogy valóban megvan a 9 bit. Szélesebb képen jobban lehetne látni, így eléggé találgatósba mondom, de én leginkább start bit + 8 adat bitet látok a képeken. Nem tudom mit gondolsz erről? (Csak az ábra miatt): http://esd.cs.ucr.edu/labs/serial/serial.html 
				Szia! Próbáltam szélesebb képeket csinálni és kijelölni mettől-meddig tarthat a jel. Elővettem egy másik PIC-et, ahol ugyanúgy beállítottam a 9bit-es módot és kiküldtem először egy address-t aztán egy data-t ezek láthatók a képeken, őszintén szólva, én először analizálok így UART jelet, de ahogy számoltam szerintem itt már meg van a 11bit(9+start+stop). Közben elég érdekes dolgot tapasztaltam, ha nem küldök ki cím byte-ot csak adatot, akkor a vevő PIC nem fogadja az adatokat, viszont ha kiküldtek bármilyen cím byte-ot mindegy, hogy egyezik-e a beállított vevő címmel, utána elkezdi fogadni a bejövő adat byte-okat. A datasheet erre vonatkozó részéről nekem az jön le, hogy a cím byte ellenőrzése hardware-esen történik, szóval most ötletem sincs, hogy mit lehetne ezzel kezdeni 
				Nah nem szóltam, világos a datasheet csak én vagyok sötét. A 2 PIC között sikeresen működik, rossz címnél eldobja az adatot. Már csak az RPI-ből kell értelmes jelet kicsikarnom és akkor működnie kéne azzal is. Köszönöm  a segítségedet.						 
				Nem ismerem az RPI-nek a soros port kezelését, de C#-ban "nem" tudsz 9 bites átvitelt csinálni a soros porton. Pontosabban, tudsz csak a controller-ektől eltérően, C#-ban úgy lehet megoldani, hogy nem cím bit van hanem paritás bit, mikor címet küldesz mark (mindig '1') paritást kell állítani, mikor adatot akkor space-t (mindig '0'). | Bejelentkezés Hirdetés | 




 
						












