Oled displej - driver sh1106
- robokop
- Site Admin
- Příspěvky: 22408
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
to to vidis moc cerne
vetsinou to funguje dost dobre a da se z toho vychazet kdyz ti neco nejde kdyz prave kvuli zminene rychlosti pises rutinky vlastni.
To ze ti ty knihovny nefungovali paklize jsi to 2x zkousel a zbytku sveta nejak funguji bude jiste necim jinym. Treba nepochopenim filozofie v arduinu.
Samozrejme to arduino dost obaluije takze to neni efektivni ale zase jsou tam udelane vychytavky ktere bych psal dva roky a jsou k mani za 5 minut.
jde o to co presne potrebujes.
vetsinou to funguje dost dobre a da se z toho vychazet kdyz ti neco nejde kdyz prave kvuli zminene rychlosti pises rutinky vlastni.
To ze ti ty knihovny nefungovali paklize jsi to 2x zkousel a zbytku sveta nejak funguji bude jiste necim jinym. Treba nepochopenim filozofie v arduinu.
Samozrejme to arduino dost obaluije takze to neni efektivni ale zase jsou tam udelane vychytavky ktere bych psal dva roky a jsou k mani za 5 minut.
jde o to co presne potrebujes.
Vsechna prava na chyby vyhrazena (E)
Pochybuji, že by někdo dělal na tyhle OLED displeje vlastní knihovnu, ale když už jsem na to přišel, tak se s vámi podělím. Reverzním inženýrstvím z dostupné knihovny, jsem své dotazy vyřešil.
Na straně 13 je tato věta: Takže označení pinu D/C (na driveru A0) se jmenuje Data/Command a dle jeho stavu se rozlišuje, zda posílám po SPI Data nebo Command.
Kuuu****áááá , kdo psal ten návod? No číňani přece ....
Tahle věta je uvedená v popisu protokolu na I2C. Návod jsem četl několikrát, ale tento odstavec jsem přeskakoval protože se v něm vysvětluje protokol pro I2C a navíc pro SPI 4-wire žádný pin D/C není (pro tuto variantu zapojení se jmenuje A0).
Už jsem z toho byl nemocnej, že zahodím všechny snahy o to stát se Embedded programátorem, že na to nemám. Tímto se omlouvám za všechny negativa řečené z mé strany na manuály od Mesy, ty v takovém chaosu rozhodně nejsou.
To nemohly napsat pro těch pár sběrnic co ta sh1106 umí, napsat pár protokolů? Ušetřilo by mi to 3 dny pátrání.
Každopádně děkuji všem za příspěvky, pomohli mi.
Vyhráno ještě nemám, ale už vím, jak aspoň začít. To jsem předtím nevěděl.
Zdeněk
Na straně 13 je tato věta: Takže označení pinu D/C (na driveru A0) se jmenuje Data/Command a dle jeho stavu se rozlišuje, zda posílám po SPI Data nebo Command.
Kuuu****áááá , kdo psal ten návod? No číňani přece ....
Tahle věta je uvedená v popisu protokolu na I2C. Návod jsem četl několikrát, ale tento odstavec jsem přeskakoval protože se v něm vysvětluje protokol pro I2C a navíc pro SPI 4-wire žádný pin D/C není (pro tuto variantu zapojení se jmenuje A0).
Už jsem z toho byl nemocnej, že zahodím všechny snahy o to stát se Embedded programátorem, že na to nemám. Tímto se omlouvám za všechny negativa řečené z mé strany na manuály od Mesy, ty v takovém chaosu rozhodně nejsou.
To nemohly napsat pro těch pár sběrnic co ta sh1106 umí, napsat pár protokolů? Ušetřilo by mi to 3 dny pátrání.
Každopádně děkuji všem za příspěvky, pomohli mi.
Vyhráno ještě nemám, ale už vím, jak aspoň začít. To jsem předtím nevěděl.
Zdeněk
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
To dáš Čínské návody jsou sice peklo, ale lepší nedostaneš. Pár věcí jsem s OLED na driveru 1306 (to je sourozenec 1106) dělal a není to problém. Co problém byl, že sem tam v některých kusech soudruzi v číně osadili větší R v obvodu pro reset a ten trval 3 sekundy po zapnutí zařízení a já proč se to nechce inicializovat
To C se fakt nauč. A vlastní kód (knihovny) sice trochu bolí, ale časem se bohatě zůročí.
To C se fakt nauč. A vlastní kód (knihovny) sice trochu bolí, ale časem se bohatě zůročí.
Ty cinske datasheety je treba cist opravdu poradne. Oni tam vetsinou maji vsechno, ale je to psane tak nejak usporne nebo jak to nazvat. Ja mel napriklad problem s jinym displejem ktery mi nechtel chodit textovem rezimu. Az uplne na konci DS mezi kravinami typu vibrace a nadmorska vyska byl jako poznamka pod carou nenapadne uveden drobny detail, ze v textovem rezimu se tam musi poslat stejna data 2x za sebou, pak uz to jelo. Kdyz uz nic, aspon ses naucil pracovat s cinskymy datasheety
Tak displej už doma mám a zatím ho zbaběle provozuji s arduino knihovnou. Vše funguje jak má.
Chtěl jsem ji promazat, aby z ní zbylo minimum, ale je psaná objektově, takže mi to moc nejde.
Každopádně mě to přivádí k myšlence jaké jsou výhody/nevýhody psaní C vs C++ pro mikrokontrolery.
Automobilky píšou v C, ale výrobci mikrokontrolerů dělají kompilatory v C++.
Co si o tom myslíte?
Chtěl jsem ji promazat, aby z ní zbylo minimum, ale je psaná objektově, takže mi to moc nejde.
Každopádně mě to přivádí k myšlence jaké jsou výhody/nevýhody psaní C vs C++ pro mikrokontrolery.
Automobilky píšou v C, ale výrobci mikrokontrolerů dělají kompilatory v C++.
Co si o tom myslíte?
LinuxCNC - MESA 7i96
zz912.webnode.cz
zz912.webnode.cz
Nevím co máš za procesor, a jak složitou věc s tou grafikou zamyslis, ale IMHO si to tim C++ zbytečně komplikujes. Někdy je na jednoduchých procesorech jednoduché C naprosto dostačující a nejefektivnejsi.
Ale je to jenom můj názor.....
Ale je to jenom můj názor.....
Tak tak, C++ pokud potrebujes featury objektoveho programovani, jako zapouzdrenost nebo dedicnost. Takze zalezi na tom co a na jakem hw vlastne vyvijis. Pro hodne veci staci ansi C a dobra znalost daneho kompilatoru.
TOS S28, DIY CNC, Holzmann ZS-40HS, Prusa Mk3s+MMU2s, Bambu X1C Combo
Protože to šetří psaní textu při samotném programování.
Výsledný zdrojový kód je kompaktnější. Více abstrakní, elegantní.
Data jsou pohromadě s metodama, která s těmi daty pracují.
Na první pohled samé výhody, ale některé konstrukce mohou být problematické a proto automoto, aerospace a pod. jedou v C a ještě jsou v něm některé postupy zakázané.
C++ a C lze kombinovat, takže se hodí obojí.
Jo a není pravda, že výrobci cpu/mcu dodávají knihovny a compilátory jen pro C++
Naopak, většinou je k dispozici nějaký ASM a C překladač a když nic jinýho, tak GCC.
Arduino je postavený na C++ ( BFU pak neřeší nějaké funkce, ale volají rovnou metody těch objektů).
Výsledný zdrojový kód je kompaktnější. Více abstrakní, elegantní.
Data jsou pohromadě s metodama, která s těmi daty pracují.
Na první pohled samé výhody, ale některé konstrukce mohou být problematické a proto automoto, aerospace a pod. jedou v C a ještě jsou v něm některé postupy zakázané.
C++ a C lze kombinovat, takže se hodí obojí.
Jo a není pravda, že výrobci cpu/mcu dodávají knihovny a compilátory jen pro C++
Naopak, většinou je k dispozici nějaký ASM a C překladač a když nic jinýho, tak GCC.
Arduino je postavený na C++ ( BFU pak neřeší nějaké funkce, ale volají rovnou metody těch objektů).