Mikro C PIC - string - problém

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


Ne, proste vyvorit promennou:

struct OneWire ow = {0};

(to nulovani asi nepovinne ale radsi to delam)
a ukazatel &ow predat jako parametr.  Predpokladam, ze funkce Init si do 
ni ulozi nastaveni portu a pripadne vyhleda zarizeni a ulozi si ID, nebo 
na to bude jina funkce, to asi najdete v dokumentaci.
Nejaky vzor zdrojaku, jak ty funkce pouzit se neda najit? To byva 
nejjednodussi cesta.


Dne 27.1.2014 19:24, Jan Půhoný napsal(a):
> struct OneWire
> {
>     uint8_t bitmask;
>     volatile IO_REG_TYPE *port; //IO Port Register
>     volatile IO_REG_TYPE *ddr;  //Data Direction Register
>
> #if ONEWIRE_SEARCH
>     // global search state
>     unsigned char ROM_NO[8];
>     uint8_t LastDiscrepancy;
>     uint8_t LastFamilyDiscrepancy;
>     uint8_t LastDeviceFlag;
> #endif
> };
>
>
> takže to přepsat v té definici struktury?
>
>
>
>
> Dne 27. ledna 2014 19:22 Jaroslav Buchta <jaroslav.buchta na hascomp.cz 
> <mailto:jaroslav.buchta na hascomp.cz>> napsal(a):
>
>     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 bywww.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
>
>
>
>     ------------------------------------------------------------------------
>     <http://www.avast.com/> 	
>
>     Tato zpráva neobsahuje viry ani jiný škodlivý kód -avast!
>     Antivirus <http://www.avast.com/> je aktivní.
>
>
>
>     _______________________________________________
>     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/d4bc60ef/attachment.html>


Další informace o konferenci Hw-list