Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
 
Témaindító: G-Lex, idő: Jan 9, 2006
Lapozás: OK   1308 / 1308
(#) silent15 hozzászólása Aug 8, 2020 /
 
Sziasztok!

Készítettem egy panelt egy PIC32MX470F512H kontrollerrel, hogy USB-vel próbálkozzak. MpLab X v5.20-at használok és Harmony-val szeretném felkonfigurálni a kontrollert, ezen belül is az USB bootloadert. A bootloader host oldalára UnifiedHost letöltőt használnék. Sajnos bárhogyan is próbálkozok, nem jutok semmire, nem látja a kontrollert. Debug módban látom, hogy maga a kontroller fut. A bekötésnek jónak kellene lennie, ami nálam nincs, hogy VBUS-on nincs soros 100R. Ám semmit nem csinál amikor bedugom. Nincs valami jó tutorial, ami leírja, hogy miképpen lehet ezt működésre bírni, esetleg valaki próbálkozott már ezzel, szükséges a 100R? Ezt próbáltam, de sajnos semmi sikerrel.

Köszönöm!
(#) cross51 válasza silent15 hozzászólására (») Aug 8, 2020 /
 
Én sajnos a bootloaderes témát sose éreztem magamnak így nem nagyon tudok, direkten segíteni benne.

De esetleg próbálj meg soros portot (CDC) csinálni elsőnek, hogy él e az USB ahhoz van example is én 2.04-el használtam és hibátlanul ment (annyi különbség, hogy én MZ-vel csináltam).

(De ahogy láttam bootloader-hez is van example)
(#) silent15 válasza cross51 hozzászólására (») Aug 12, 2020 /
 
Első körben ez lesz valószínüleg. Mint kiderült a Harmony sem kulcsrakész megoldást ad. Ezt viszont egyáltalán nem értem. Adott egy bootloader letöltő hoszt alkalmazás, amit ők készítettek. Gondoltam ha szintén az ő tooljukkal kigenerálok egy eszköz oldali bootloader kódot, akkor a kettő egyből képes lesz működni egymással.

Ahogy jobban belemélyültem, kiderült, hogy ez nem igaz, ami szerintem nonszensz. Kezdek egyre jobban kiábrándulni a Microchip toolchanjéből. Bugos, nincsenek végiggondolva és félkészek.
(#) DRoland hozzászólása Szept 13, 2020 /
 
Hello!

Egy érdekes problémával fordulnék hozzátok. Egy project része a következő: PIC18F4520-al kell kiolvasni két TC74-es hőmérőt, DS3231-es RTC-t és egy INA219-et. Ha mindkét hőmérő a buszon van, akkor az egyik mindig -1°C fokot ad vissza (A1 és A2-es cíművel is próbálkoztam). Címzés tuti jó, mert, ha lehúzom máris ACK hiba keletkezik. Ha a másik TC74-et húzom le (ez A0-s és persze a programból kiveszem), akkor tökéletesen működik vagyis nem elkötési vagy program hiba.
Elakadtam, lehetséges, hogy a két szenzor nem "szereti" egymást? A másik két I2C-s eszköz folyamatosan olvasható.
(#) usane válasza DRoland hozzászólására (») Hé, 12:29 /
 
Ajánlom figyelmedbe A TC74 adatlapját. a TC74 szenzoroknak tokozástól függően van különböző címük. Ugyanazon tokban uyanaz a címük, sem szoftveresen, sem hardveresen nem állítható. Ergo nem tudsz 2 egyforma tokozású TC74-et kezelni. Szerintem.
(#) DRoland válasza usane hozzászólására (») Hé, 12:38 /
 
Ezt tudom, ezért írtam A1-et és A2-t. 8 különböző című van, a kép az adatlapból származik
A hozzászólás módosítva: Hé, 12:39
(#) usane válasza DRoland hozzászólására (») Hé, 12:45 /
 
Ok. Akkor frissítették, vagy rosszul emlékszem, már rég volt a kezemben, de én is megszívtam.
Megnéztem nem-e két egyforma kódút vettél?
(#) DRoland válasza usane hozzászólására (») Hé, 13:09 /
 
Három különböző címűm van
(#) Bakman válasza DRoland hozzászólására (») Hé, 13:35 /
 
Egymás címeire reagálnak?
(#) Hp41C válasza DRoland hozzászólására (») Hé, 13:54 /
 
Be vannak tartva az előkészítési és tartási idők? Egy analizátoros mérésből kiderülne.
(#) DRoland válasza Bakman hozzászólására (») Hé, 14:21 /
 
A0: start után van ACK, utána pedig adat, A1 vagy A2 start után van ACK, adat már nem jön
Egyszerre csak egy reagál.
(#) Bakman válasza DRoland hozzászólására (») Hé, 14:28 /
 
Az adatlapban van egy furcsaság, amit nem nagyon értek:
Idézet:
3.4 Address Byte
Immediately following the START condition, the host must transmit the address byte to the TC74. The states of A2, A1 and A0 determine the SMBus/I2C address for the TC74. The 7-bit address transmitted in the serial bit stream must match for the TC74 to respond with an Acknowledge (indicating the TC74 is on the bus and ready to accept data). The 8-bit in the address byte is a Read/Write bit. This bit is a ‘1’ for a read operation or ‘0’ for a write operation. During the first phase of any transfer, this bit will be set = 0, indicating that the command byte is being written.”
Gondolom a "8-bit" a nyolcadik bitet jelenti. Ez azt jelnetené, hogy az első kommunikációnál mindenképpen írni kell a konfigurációs regiszter? Ha igen, ez be van tartva?
(#) Hp41C válasza DRoland hozzászólására (») Hé, 14:36 /
 
Az IEC buszon a címek párosak, mivel a 0. bit a Read (1) / Write (0) vezérlés.
Az adatlapon csak 7 bit szerepel. Az írási cím csak A0, A2, A4, A6, A8, AA, AC, AE lehet.
A hozzászólás módosítva: Hé, 14:39
(#) DRoland válasza Hp41C hozzászólására (») Hé, 14:51 /
 
Próbáltam úgyis, hogy a másikat le sem kérdezi meg úgyis, hogy több másodpercet vártam az olvasások között
(#) DRoland válasza Bakman hozzászólására (») Hé, 15:44 /
 
I2C esetén a 0. bit dönti el, hogy írni vagy olvasni akarjuk az eszközt. Ennél nem muszáj a konfigot írni lehet egyből olvasni is, de persze mindkét verziót megpróbáltam.
(#) Bakman válasza DRoland hozzászólására (») Hé, 16:28 /
 
Értem én, de az utolsó mondat szerint az LSB nullára lesz állítva. Vagy igen ostobán van megfogalmazva a leírás, mivel kijelenető mondat, nem feltételes.
Következő: »»   1308 / 1308
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem