[ developer94 @ 22.01.2012. 19:02 ] @
Evo vec neko vreme besomucno lutam internetom roveci po gomili osrednje oznacenih, i jos losije dokumentovanih biblioteka. Nesto najpribliznije onome sta mene zanima je AN956, medjutim source koji dolazi uz njega sadrzi kompletan framework - tj. citav projekat! Sad, problem je sto bih tako nesto implementovao u vec postojeci kod, a nesto mi se i ne pocinje ispocetka... Moze li neko da me uputi kako da ekstraktujem neophodne delove koda iz toga? Ili gde da nadjem nesto bolje/prakticnije za RS-232 emulaciju?
[ bogdan.kecman @ 22.01.2012. 22:10 ] @
Skini MAL u njemu imas primer za CDC

inace za tvoj projekat ti od mal-a treba:

Code:

[arhimed@vito microchip]$ tree
.
├── FSconfig.h
├── Include
│   ├── Compiler.h
│   ├── GenericTypeDefs.h
│   ├── MDD File System
│   │   ├── FSDefs.h
│   │   ├── FSIO.h
│   │   └── SD-SPI.h
│   └── USB
│       ├── usb_ch9.h
│       ├── usb_common.h
│       ├── usb_device.h
│       ├── usb_function_hid.h
│       ├── usb.h
│       ├── usb_hal.h
│       └── usb_hal_pic32.h
├── MDD File System
│   ├── FSIO.c
│   └── SD-SPI.c
├── USB
│   ├── usb_device.c
│   ├── usb_function_generic.c
│   └── usb_function_hid.c
├── usb_config.h
└── usb_descriptors.c


a u tvoj projekat iz primera pokupi main rutinu gde se hendluje usb i uglavi kod sebe.

Ono sto je bitno da shvatis je da USB NE RADI KAO SERISKI PORT. Dakle nema varijante da ti pises firmware koji "zabole za usb" i onda samo da mu dodas da preko usb-a saljes i primas pakete preko nekog send_usb("xxx") i receive_usb() .. ceo firmware mora da bude prilagodjen tome da bude non stop prekidan od strane usb-a i prilagodjen generalno samom usb-u posto ti usb komunikacija trosi mnoooogo procenata cpu vremena... ako si pisao firmware koji ne zna sta je to usb i ima neke "timing constraints", mnogo ti je jeftinije da dodas neki ftdi na seriski port tog mcu-a i prepustis njemu usb handlovanje
[ ha_23 @ 23.01.2012. 12:56 ] @
Za compiler CCS C imas funkciju za RS-232 emulacija, imas i primer kako se koristi, ako vec hoces USB -> RS-232 kako sto rekao
bogdan.kecman mozes da iskoristis chip FTDI tako sto ces zavrsiti posao bez promena firmware.
[ bogdan.kecman @ 23.01.2012. 17:11 ] @
svaki kompajler ima serisku komunikaciju ... to je bar na C18 jednostavno ... nema potrebe da prelazi na losiji a uhakovani CCS kada na C18 koji je em dzaba em pravi bolji kod to jos jednostavnije ...

Code:

#include <stdio.h>
#include <usart.h>

...

fprintf ((FILE *)_H_USART, (const far rom char*) "Vrednost necega je: %i\r\n",nekiinteger);

...


samo na seriski port piconje zakaci neki ft232 ili neki PL2303 ili CP2102 ili MCP2200 ili nesto trece
[ developer94 @ 25.01.2012. 21:26 ] @
Izvinjavam se na kasnom odgovoru, nisam bio pri racunaru ovih dana.
Tako ce onda i biti, vidim da nema leba da izmisljam toplu vodu - bar ne u pola posla. Znaci onaj AN956 me je dzaba izlozio, tj. konverzija nije bas tako jednostavna...

Hvala u svakom slucaju, to je ono sta sam hteo (to jest nisam, al ae') da cujem!