Mikro C PIC - string - problém

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Leden 27 19:22:23 CET 2014


Ukazatel na instanci struktury OneWire ?
Podivejte se, jak je struktura definovana. IMHO to bude struktura pro 
ulozeni parametru a stavu rozhrani.

Dne 27.1.2014 18:57, Jan Půhoný napsal(a):
> taky mi to tak připadá
>
> OneWire_Init(struct OneWire *this, volatile IO_REG_TYPE *port, 
> volatile IO_REG_TYPE *ddr, uint8_t pin)
>
> takhle nejak bych to videl, OneWire_Init(struct OneWire *this, PORTE, 
> TRISE, 2);
>
> ale co dat jako parametr misto "struct OneWire *this" to nechapu...
>
> H.
>
>
> Dne 27. ledna 2014 18:50 Andrej Jancura <aj.hwlist na gmail.com 
> <mailto:aj.hwlist na gmail.com>> napsal(a):
>
>     Mam pocit, ze pin a port sa beru ako premenne v tych funkciach,
>     teda su to ich parametre. Pozrite si to v definiciach. Potom sa
>     ale pozrite este na strukturu portu toho Vasho pic. Je ina ako u
>     877. MOzno to bude dost podobne ako na AVR. Na tom AVR to ide ako
>     parametre funkcii.
>
>     A.
>
>
>     2014-01-27 Jan Půhoný <konference na puhy.cz <mailto:konference na puhy.cz>>
>
>         Díky, ta knihovna je ale pro XC8 a PIC, jde to i přeložit, jen
>         nevím jestli to mám udělat jako najít a nahradit nebo ta pin a
>         port se bere jako proměnná ?
>
>         Mám tam PIC18F46K22.
>
>         Honza Půhoný
>
>
>         Dne 27. ledna 2014 18:02 Andrej Jancura <aj.hwlist na gmail.com
>         <mailto:aj.hwlist na gmail.com>> napsal(a):
>
>             Dobry vecer,
>
>             trochu som si to presiel, a mam pocit, ze by to malo
>             fungovat aj na PIC, pokial za port a ddr dosadite
>             prislusne adresy datoveho a io_type registra. Musite si to
>             ale pozriet sam, pretoze to je cele z AVR a neviem, ci to
>             ide univerzalne urobit na vsetkych portoch AVR. Mam pocit,
>             ze niektore porty su adresovatelne bitovo aj bytovo,
>             zatial co ine len bytovo. Takze vymysleli, ze sa pojde len
>             bytovo... Pre Vas to znamena pouzit adresu PORTE a TRISE.
>             OKrem toho mam pocit, ze PortE treba este nastavit na typ
>             digital. To plati pre 877.
>
>             A.
>
>
>             2014-01-27 Jan Půhoný <konference na puhy.cz
>             <mailto:konference na puhy.cz>>
>
>                 Tak se mi nedaří 1-wire přidat na PORTE,2
>
>                 Můžete na to prosím někdo mrknout jak se to dělá? Jak
>                 to přiřadím na konkrétní pin, čekal jsem něco v
>                 #define, ale nic takového kam bych dal port a pin tam
>                 nevidím, příklad k tomu není...
>
>                 https://github.com/ideras/pic-onewire-library/commit/7e12723bc44f9703b6f7d4ca9eebcd348d7eb762
>
>                 podle mě by to mělo být přes funkci OneWire_Init
>
>                 Ta je definována takto, ale nějak z toho nejsem moc
>                 chytrý, zkoušel jsem OneWire_Init
>                 (structOneWire*this,volatileIO_REG_TYPE*port,volatileIO_REG_TYPE*ddr,uint8_tpin)
>
>
>
>
>
>                 Dne 26. ledna 2014 19:28 Jan Půhoný
>                 <konference na puhy.cz <mailto:konference na puhy.cz>>
>                 napsal(a):
>
>                     Takže ještě jednou díky za navedení. Už jsem se v
>                     MPLAB X a XC8 trochu zorientoval, displej a DS1302
>                     už mi fungují :-) Dal jsem tam 18F46K22 a je to
>                     úplně pinově kompatibilní s PIC16F877A, takže
>                     nemusím předělávát plošňák.
>
>                     Jak předpokládal wek, strávil jsem s tím dost času ...
>
>                     Teď jsem narazil na pěknou knihovnu pro dallas 1
>                     wire (např DS1820 teplotní čidla):
>
>                     https://github.com/ideras/pic-onewire-library
>
>                     Nerozumím ale definici portu, jak si to
>                     představují? Je tam tento zápis, kterému úplně
>                     nerozumím,
>
>                     #define PIN_TO_BITMASK(pin)      (1 << pin)
>
>                     // Platform specific I/O definitions
>                     #define IO_REG_TYPE uint8_t
>                     #define DIRECT_READ(port, mask) (((*(port)) &
>                     (mask)) ? 1 : 0)
>                     #define DIRECT_MODE_INPUT(ddr, mask) (*(ddr)) |=
>                     (mask)
>                     #define DIRECT_MODE_OUTPUT(ddr, mask)  (*(ddr)) &=
>                     ~(mask)
>                     #define DIRECT_WRITE_LOW(port, mask) (*(port)) &=
>                     ~(mask)
>                     #define DIRECT_WRITE_HIGH(port, mask)  (*(port))
>                     |= (mask)
>
>                     to mám za "port" napsat třeba PORTE2 a mask =
>                     0b00000010 ? nebo jak to chápat?
>
>                     Bohužel žádný příklad u té knihovny není...
>
>                     Díky za případné rady.
>
>                     Honza Půhoný
>
>
>                     2014-01-17 Jaromir Sukuba <jarin.hw na gmail.com
>                     <mailto:jarin.hw na gmail.com>>
>
>                         PIC18F4550 je asi najexotickejsi a najmenej
>                         kompatibilny z rady PIC18F.
>                         Skusil by som sa pozriet na PIC18F4520 (stary,
>                         ale prevereny typ),
>                         pripadne 18F45K20 (novsi, lacnejsi, ale iba do
>                         3,6V) alebo 18F45K22
>                         (este novsi, o nieco drahsi - ale lacnejsi nez
>                         18F4520 - ale ide do
>                         5,5V). Vo vsetkych troch pripadoch mozete
>                         nahradit 45 cislom 46, 44
>                         alebo 43 a dostanete modely s mensou alebo
>                         vacsou FLASH.
>                         Pripadne sa pozrite na PIC16F1517/1519 (tieto
>                         su moje oblubene), 1937/1934.
>                         Nieco sa da vybrat aj tu
>                         http://www.microchip.com/maps/microcontroller.aspx
>                         alebo si skuste
>                         pofiltrovat v nejakom katalogu, trebars u
>                         Farnella alebo Mousera.
>
>                         Inak, 16F877A bude fungovat tiez s XC8
>                         kompilatorom, ale s tymito
>                         novsimi modelmi mate viac pamate "na minanie"
>                         a hlavne - nielen PORT,
>                         ale LAT aj PORT registre, velmi sikovna vec.
>                         Periferie su inak defakto
>                         zhodne s PIC16Fxxx, ale maju niektore pridane
>                         vlastnosti, ktore su ale
>                         defaultne vypnute (namatkou - inverzia
>                         signalov USARTu, moznost
>                         pouzivania 16-bitoveho BRG registra). Trebars
>                         inicializacia USART-u
>                         alebo SPI, ak si spominam spravne, je
>                         identicka s radou 16Fxxx ak
>                         nepouzivate tie vylepsenia. Kazdopadne je
>                         lepsie to porovnat v
>                         datasheetoch.
>
>
>                         2014/1/17 Jan Půhoný <konference na puhy.cz
>                         <mailto:konference na puhy.cz>>:
>                         > hmm, diky moc, samozrejme je to ono ...blb
>                         jsem spis ja a pro oci nevidim
>                         > :-) Už mi to bliká ....
>                         >
>                         > Jeste se dovolim zeptat jak je to s
>                         knihovnami pro tu 16F řadu, já tam budu
>                         > muset dát zpátky asi ten PIC 16F877A protože
>                         na USB Vreg vývodu 18F4550  mám
>                         > zapojeny data od DS1302 RTC ... jinak to
>                         pinově sedí, ale tohle je trochu
>                         > problém :-) BTW: existuje něco z 18F řady co
>                         by 100% pinově sedělo s
>                         > PIC16F877A - nic podobnějšího než 18F4550
>                         jsem nenašel. Mám tam zapojený
>                         > všechny vývody...
>                         >
>                         > Je něco vyzkoušeného pro LCD displej nebo
>                         1wire dallas čidla?
>                         >
>                         > budou fungovat ty 18 knihovny pro 16 řadu ?
>                         >
>                         > Díky.
>                         >
>                         > Honza Půhoný
>                         >
>                         >
>                         > 2014/1/17 Jaromir Sukuba <jarin.hw na gmail.com
>                         <mailto:jarin.hw na gmail.com>>
>                         >>
>                         >> 2014/1/17 Jan Půhoný <konference na puhy.cz
>                         <mailto:konference na puhy.cz>>:
>                         >> > #define _XTAL_FREQ=1000000
>                         >>
>                         >> Zmente na
>                         >> #define _XTAL_FREQ 1000000
>                         >>
>                         >> Tuto chybu mal Vas prvy zdrojak a ja blb
>                         som to po Vas vcera
>                         >> skopiroval bez toho, aby som to aj skusil
>                         skompilovat :-)
>                         >> _______________________________________________
>                         >> HW-list mailing list  -  sponsored by
>                         www.HW.cz <http://www.HW.cz>
>                         >> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>                         >> http://list.hw.cz/mailman/listinfo/hw-list
>                         >
>                         >
>                         >
>                         > _______________________________________________
>                         > HW-list mailing list  -  sponsored by
>                         www.HW.cz <http://www.HW.cz>
>                         > Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>                         > http://list.hw.cz/mailman/listinfo/hw-list
>                         >
>                         _______________________________________________
>                         HW-list mailing list  -  sponsored by
>                         www.HW.cz <http://www.HW.cz>
>                         Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>                         http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
>                 _______________________________________________
>                 HW-list mailing list  -  sponsored by www.HW.cz
>                 <http://www.HW.cz>
>                 Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>                 http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>             _______________________________________________
>             HW-list mailing list  -  sponsored by www.HW.cz
>             <http://www.HW.cz>
>             Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>             http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>         _______________________________________________
>         HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>         Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>         http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



---
Tato zpráva neobsahuje viry ani jiný škodlivý kód - avast! Antivirus je aktivní.
http://www.avast.com
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140127/e047e237/attachment-0001.html>


Další informace o konferenci Hw-list