Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
DejanX Član

Pridružen-a: Sob 11 Okt 2008 18:09 Prispevkov: 72 Aktiv.: 0.35 Kraj: Celje
|
Objavljeno: Sob Nov 01, 2008 8:19 pm Naslov sporočila: USB <-> serial ali parallel |
|
|
Pozdravljeni,
zanima me, če ima kdo načrt in kodo za USB <-> serial ali pa USB <-> parallel pretvornik za ATmega168/ATmega8?
Na internetu sem jih kar nekaj našel, vendar nobene z notranjim oscilatorjem. Nekaj sem našel na AVR-USB (http://www.obdev.at/products/avrusb/index.html), ki naj bi deloval z notranjim, vendar pa pod examplei ni bilo nobenega ki bi mi ga uspelo skompajlati.
Lahko tudi kakšno varianto AVR-USB z notranjim oscilatorjem za omenjena uCja.
Vsakršen nasvet/koda/povezava/načrt dobrodošel. |
|
Nazaj na vrh |
|
 |
markym Član

Pridružen-a: Tor 15 Jan 2008 0:36 Prispevkov: 36 Aktiv.: 0.17 Kraj: Kranj
|
Objavljeno: Pet Nov 07, 2008 2:04 am Naslov sporočila: Re: USB <-> serial ali parallel |
|
|
DejanX je napisal/a: |
Pozdravljeni,
zanima me, če ima kdo načrt in kodo za USB <-> serial ali pa USB <-> parallel pretvornik za ATmega168/ATmega8?
Na internetu sem jih kar nekaj našel, vendar nobene z notranjim oscilatorjem. Nekaj sem našel na AVR-USB (http://www.obdev.at/products/avrusb/index.html), ki naj bi deloval z notranjim, vendar pa pod examplei ni bilo nobenega ki bi mi ga uspelo skompajlati.
Lahko tudi kakšno varianto AVR-USB z notranjim oscilatorjem za omenjena uCja.
Vsakršen nasvet/koda/povezava/načrt dobrodošel. |
a ni skoda časa za to?
obstajao prav namenski čipi za tole reč z že narejenimi driverji. poglej še malo v to smer. _________________ 5r |
|
Nazaj na vrh |
|
 |
T42 Član


Pridružen-a: Tor 12 Avg 2008 21:37 Prispevkov: 143 Aktiv.: 0.70 Kraj: Cerknica
|
Objavljeno: Pet Nov 07, 2008 2:42 am Naslov sporočila: |
|
|
www.arduino.cc
opensource |
|
Nazaj na vrh |
|
 |
DejanX Član

Pridružen-a: Sob 11 Okt 2008 18:09 Prispevkov: 72 Aktiv.: 0.35 Kraj: Celje
|
Objavljeno: Sob Nov 08, 2008 8:38 am Naslov sporočila: |
|
|
Težavo sem rešil z nakupom USB to rs232 pretvornikom. Zdaj imam pa drugo težavo. Na računalnik dobivam samo čudne znake in ne tisto, kar bi mi naj uC poslal. V čem bi lahko bila težava? |
|
Nazaj na vrh |
|
 |
NeoTO Član


Pridružen-a: Pon 28 Mar 2005 19:19 Prispevkov: 2752 Aktiv.: 11.62 Kraj: Trzic
|
Objavljeno: Sob Nov 08, 2008 9:46 am Naslov sporočila: |
|
|
Vzrokov za tvoje težave je lahko veliko...
1. Imaš enak baudrate nastavljen?
2. Imaš enako pariteto?
3. enake nastavitve za start in stop bite?
4. Si pravilno izračunal baudrate?
5. Imaš pravi kristal?
Poglej si komunikacijo na osciloskopu in izmeri baudrate ter poglej, če je vse tako kot mora bit. _________________ Lp,
Matevž |
|
Nazaj na vrh |
|
 |
DejanX Član

Pridružen-a: Sob 11 Okt 2008 18:09 Prispevkov: 72 Aktiv.: 0.35 Kraj: Celje
|
Objavljeno: Čet Nov 20, 2008 10:15 pm Naslov sporočila: |
|
|
1. Da.
2. Da.
3. Da.
4. Da.
5. Da.
Sem preizkusil različne kombinacije baudratea in kristala itd. in mi še vseeno ni uspelo.
Do osciloskopa še nisem imel možnosti priti ... bom verjetno naslednji teden šele lahko.
Drugače pa ... pozna kdo kakšen tutorial ali kaj podobnega za povezavo Atmega168 preko RS232 na računalnik? Že nekaj dni iščem po internetu različne stvari o tem ... ampak nikjer ni kakšnih primerov. |
|
Nazaj na vrh |
|
 |
Vlado Član

Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 563 Aktiv.: 2.38 Kraj: Ljubljana
|
Objavljeno: Čet Nov 20, 2008 10:30 pm Naslov sporočila: USB<->serial ali paralel |
|
|
Ali si siguren da M168 dela z zunanjim kristalom in ne z notranjim?
Ali imaš pravilno nastavljene FUSE bite?
Ja pa še to, ker imaš USB-RS232 adapter, ali med procesorjem in USB adapterjem imaš MAX232?
Vlado |
|
Nazaj na vrh |
|
 |
DejanX Član

Pridružen-a: Sob 11 Okt 2008 18:09 Prispevkov: 72 Aktiv.: 0.35 Kraj: Celje
|
Objavljeno: Pet Nov 21, 2008 7:00 am Naslov sporočila: |
|
|
Sem siguren. Fuse biti bi morali biti pravilno nastavljeni. Sem jih večkrat spremenil, ker sem mislil, da je napaka mogoče tam ... ampak očitno ni bila.
Imam MAX232. |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.71 Kraj: Kranj - struževo
|
Objavljeno: Pet Nov 21, 2008 11:48 am Naslov sporočila: |
|
|
Potem ti pa edino osciloskop lahko pomaga.
Če pošlješ 0xAA z računalnika mora biti slika enako kot če pošlješ 0xAA iz mikrokontrolerja. _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
Vlado Član

Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 563 Aktiv.: 2.38 Kraj: Ljubljana
|
Objavljeno: Pet Nov 21, 2008 2:44 pm Naslov sporočila: USB<->serial ¶lel |
|
|
Hm..
ali sigurno imaš izklopljen fuse bit "DIVIDE CLOCK BY 8/16".
Poskusi z enostavnim programom tako da ti LED utripa z sekundnim taktom, tako boš ugotovil ali je vse v redu z nastavitvijo fuse bitov in ali procesor dela z frekvenco ki si jo določil,
Vlado |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.51 Kraj: Krško
|
Objavljeno: Pet Nov 21, 2008 3:52 pm Naslov sporočila: |
|
|
Na adapterju skleni RX in TX(naredi stik med tema signaloma). Odpri terminal,in pošlji en znak,dobiti ga boš moral nazaj. Tako preveriš ali dela adapter.
Če programiraš v bascomu imaš lep example,kako uporabiti serijsko komunikacijo.
P.S: rx in tx morata biti navzrkižno vezana. Aadapter in max 232. _________________ Denis |
|
Nazaj na vrh |
|
 |
Vlado Član

Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 563 Aktiv.: 2.38 Kraj: Ljubljana
|
Objavljeno: Pet Nov 21, 2008 4:18 pm Naslov sporočila: USB<->serial ali paralel |
|
|
Denis, koliko sem jaz zastopil njemu komunikacija dela samo dobi "solato" na PC-ju.
Vlado |
|
Nazaj na vrh |
|
 |
DejanX Član

Pridružen-a: Sob 11 Okt 2008 18:09 Prispevkov: 72 Aktiv.: 0.35 Kraj: Celje
|
Objavljeno: Pet Nov 21, 2008 6:10 pm Naslov sporočila: |
|
|
Povezava dela, vendar če pošljem iz pcja na uC dobim "solato" in tudi če pošljem iz uCja na pc.
LED dioda je že od začetka gor ... in utripa normalno vsako sekundo ... tako, da je z fuse biti vse v redu in očitno dela z izbrano frekvenco ...
MAX232 in adapter tudi delata.
(P.S.: Še vedno bi bil vesel kakšnega članka/tutoriala glede tega.) |
|
Nazaj na vrh |
|
 |
Vlado Član

Pridružen-a: Sre 03 Mar 2004 21:35 Prispevkov: 563 Aktiv.: 2.38 Kraj: Ljubljana
|
Objavljeno: Pet Nov 21, 2008 7:05 pm Naslov sporočila: USB<->serial ali paralel |
|
|
Dejan, kaj če bi posredoval tvoj program, da vidimo kaj in kako dela?
Ledica že utripa, brez osciloskopa pa boš težko ugotovil ali utripa z 1 sek., ali pa 0,8 sekunde, edino če boš štel vsaj 10 pulzov.
Vlado |
|
Nazaj na vrh |
|
 |
DejanX Član

Pridružen-a: Sob 11 Okt 2008 18:09 Prispevkov: 72 Aktiv.: 0.35 Kraj: Celje
|
Objavljeno: Pet Nov 21, 2008 8:37 pm Naslov sporočila: |
|
|
Primer enega programa:
Koda: |
#include <stdio.h>
#include <avr/io.h>
#define FOSC 16000000
#define BAUD 9600
#define MYUBRR FOSC/16/BAUD-1
#define sbi(var, mask) ((var) |= (uint8_t)(1 << mask))
#define cbi(var, mask) ((var) &= (uint8_t)~(1 << mask))
static int uart_putchar(char c, FILE *stream)
{
if (c == '\n') uart_putchar('\r', stream);
loop_until_bit_is_set(UCSR0A, UDRE0);
UDR0 = c;
return 0;
}
void delay_ms(uint16_t x)
{
uint8_t y, z;
for ( ; x > 0 ; x--){
for ( y = 0 ; y < 80 ; y++){
for ( z = 0 ; z < 40 ; z++){
asm volatile ("nop");
}
}
}
}
static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE);
int main (void)
{
//1 = output, 0 = input
DDRB = 0b11101111; //PB4 = MISO
DDRC = 0b11111111; //
DDRD = 0b11111110; //PORTD (RX on PD0)
//USART Baud rate: 9600
UBRR0H = MYUBRR >> 8;
UBRR0L = MYUBRR;
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
stdout = &mystdout; //Required for printf init
uint8_t x = 0;
ioinit(); //Setup IO pins and defaults
while(1)
{
x++;
printf("Test it! x = %d", x);
sbi(PORTC, 0);
delay_ms(1000);
cbi(PORTC, 0);
delay_ms(1000);
}
return(0);
} |
Koda je pa iz interneta, tako, da bi naj delovalo ... |
|
Nazaj na vrh |
|
 |
|