WinAVR i symulacja w AVR Studio



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "tomm" <tmroz1_at_nospam_poczta.gazeta.pl>
Subject: WinAVR i symulacja w AVR Studio
Date: Thu, 2 Jun 2005 12:22:05 +0200


witam,

chce przekopiowac zadeklarowany w programie 'string'
char *ramka =
"GPRMC,002310,A,5141.535,N,01735.096,E,001.0,090.0,091299,002.7,E*7C";
do innej zmienne
unsigned char tmptext[100];


i wszystko kopiuje ladnie ale w pewnym momencie zamist odpowiednich znakow
pojawiaja sie znaki o kodzie 10 ( symulacja w AVR Studio 4.11 )
zupelnie nie wiem co moze byc zle (choc przyznaje ze programowac w C pod
AVR
dopiero zaczynam)
prosze wiec o pomoc, ponizej caly programik

pozdrawiam,

Tomek
------------------------------------------------------------------
#include <inttypes.h>
#include <string.h>
#include <avr/io.h>

#define F_CPU 1000000UL // 1 MHz

unsigned char tmptext[100];
unsigned char gpsline[100];
unsigned char posInRMC = 0;
char *ramka =
"GPRMC,002310,A,5141.535,N,01735.096,E,001.0,090.0,091299,002.7,E*7C";


void readfromGPS(char onechar) {
tmptext[posInRMC] = onechar;
posInRMC++;
}

void test1() {
unsigned char text_len = 80;
for(unsigned char ia = 0; ia < text_len; ia++) {
readfromGPS(ramka[ia]);
}
}


int main (void) {
test1();
return (0);
}

-----------------------------
u mnie blad jest na bajtach 1A, 2C, 3B



Poprzedni Następny
Wiadomość
Spis treści
From: Marcin Stanisz <mstanisz_at_nospam_bzdury.poczta.onet.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Fri, 03 Jun 2005 22:04:00 +0200


On Thu, 02 Jun 2005 12:22:05 +0200, tomm wrote:

chce przekopiowac zadeklarowany w programie 'string'
char *ramka =
"GPRMC,002310,A,5141.535,N,01735.096,E,001.0,090.0,091299,002.7,E*7C";

Ten 'string' jest niezmienialny? To może go do pamięci programu
przenieść? (Hint: PROGMEM, jeśli to avr-gcc)

do innej zmienne
unsigned char tmptext[100];

Duże te tablice. Nie przekraczasz aby dostępnej pamięci RAM?

Pozdrawiam
--
Marcin Stanisz

"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"


Poprzedni Następny
Wiadomość
Spis treści
From: "tomm" <tmroz1_at_nospam_poczta.gazeta.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Sat, 4 Jun 2005 08:34:11 +0200



Użytkownik "Marcin Stanisz" <mstanisz_at_nospam_bzdury.poczta.onet.pl> napisał w
wiadomości news:pan.2005.06.03.20.04.00.839774_at_nospam_bzdury.poczta.onet.pl...
On Thu, 02 Jun 2005 12:22:05 +0200, tomm wrote:

chce przekopiowac zadeklarowany w programie 'string'
char *ramka =
"GPRMC,002310,A,5141.535,N,01735.096,E,001.0,090.0,091299,002.7,E*7C";

Ten 'string' jest niezmienialny? To może go do pamięci programu
przenieść? (Hint: PROGMEM, jeśli to avr-gcc)

do innej zmienne
unsigned char tmptext[100];

Duże te tablice. Nie przekraczasz aby dostępnej pamięci RAM?

dzieki za odpowiedz,
ten string sluzy tylko czasowo do symulacji wejsca danych RS
pamieci nie przekraczam chyba bo to wszak ATMega128

a tymczasam zamiast posuwac sie w pisaniu programu stoje w miejscu
jak bedzie czas to po prostu sprobuje zaprogramowac sowja ATMege
i zobaczyc czy wtedy bedzie dzialac, czy to moze wina symulatora

Tomek



Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?Mi=B3osz_K=B3osowicz?= <news_at_nospam_miklobit.WYTNIJTO.com>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Sat, 04 Jun 2005 13:02:38 +0200


tomm napisał(a):


a tymczasam zamiast posuwac sie w pisaniu programu stoje w miejscu
jak bedzie czas to po prostu sprobuje zaprogramowac sowja ATMege
i zobaczyc czy wtedy bedzie dzialac, czy to moze wina symulatora


Jak masz ATmeg'e to nie musisz się męczyć z symulatorem, tylko podłącz
ja przez JTAG'a i będziesz miał to samo, tylko w żywym układzie.

--
Miłosz Kłosowicz

-------------------------------------
http://www.miklobit.com
[ AVR: narzędzia,moduły prototypowe ]
-------------------------------------

Poprzedni Następny
Wiadomość
Spis treści
From: "tomm" <tmroz1_at_nospam_poczta.gazeta.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Sat, 4 Jun 2005 20:58:59 +0200




Jak masz ATmeg'e to nie musisz się męczyć z symulatorem, tylko podłącz ja
przez JTAG'a i będziesz miał to samo, tylko w żywym układzie.


chyba zaczne tak w koncu robic, tylko najpierw JTAG musze kupic

dzieki za pomoc,

poki co jednak dreczy mnie dlaczego tak sie dzieje, niby powinno dzialac ok
a tutaj takie przygody i to w tak prostym fragmencie kodu

Tomek



Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Sat, 04 Jun 2005 22:08:53 +0200


On Sat, 4 Jun 2005 20:58:59 +0200, tomm wrote:
poki co jednak dreczy mnie dlaczego tak sie dzieje, niby powinno dzialac ok
a tutaj takie przygody i to w tak prostym fragmencie kodu

A zajrzyj na poziom assemblera.

J.



Poprzedni Następny
Wiadomość
Spis treści
From: "tomm" <tmroz1_at_nospam_poczta.gazeta.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Sat, 4 Jun 2005 22:54:35 +0200



Uzytkownik "J.F." <jfox_xnospamx_at_nospam_poczta.onet.pl> napisal w wiadomosci
news:p6v3a1pkc85jd0jhdqombspq1c32if5gf8_at_nospam_4ax.com...
On Sat, 4 Jun 2005 20:58:59 +0200, tomm wrote:
poki co jednak dreczy mnie dlaczego tak sie dzieje, niby powinno dzialac
ok
a tutaj takie przygody i to w tak prostym fragmencie kodu

A zajrzyj na poziom assemblera.

no fakt, nie pomyslalem, w pon wiec zobacze

Tomek



Poprzedni Następny
Wiadomość
Spis treści
From: Marcin Stanisz <mstanisz_at_nospam_bzdury.poczta.onet.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Sat, 04 Jun 2005 22:55:26 +0200


On Thu, 02 Jun 2005 12:22:05 +0200, tomm wrote:
char *ramka =
"GPRMC,002310,A,5141.535,N,01735.096,E,001.0,090.0,091299,002.7,E*7C";

To ma coś koło 68 znaków ;)

void test1() {
unsigned char text_len = 80;
for(unsigned char ia = 0; ia < text_len; ia++) {
readfromGPS(ramka[ia]);
}
}

A tu każesz mu odczytać 80. Hmm. Ale czemu w środku się wali?

Pozdrawiam
--
Marcin Stanisz

"A lie will go round the world before the truth has got its boots on"
Terry Pratchett, "Truth"


Poprzedni Następny
Wiadomość
Spis treści
From: "tomm" <tmroz1_at_nospam_poczta.gazeta.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Sun, 5 Jun 2005 15:22:37 +0200


To ma coś koło 68 znaków ;)
A tu każesz mu odczytać 80. Hmm. Ale czemu w środku się wali?

wiem, wiem, ale problem wlasnie ze juz po kilkunastu bajtach zaczynaja sie
problemy i sa przeklamania


Tomek



Poprzedni Następny
Wiadomość
Spis treści
From: "tomm" <tmroz1_at_nospam_poczta.gazeta.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Thu, 9 Jun 2005 09:44:12 +0200


cos tu mi nadal nie gra, co prawda w asemblera nie zagladalem zbytnio,
ale zrobilem prosta rzecz i w AVR studio podgladlem co jest w pamieciach

w tym celu w kodzie programu zrobilem tak:

#define FLASHDATA _attribute_ ((section (".flashdata")))
"GPRMC,002310,A,5141.535,N,01735.096,E,001.0,090.0,091299,002.7,E*7C";
static unsigned char *ramka2 =
"GPRMC,002310,A,5141.535,N,01735.096,E,001.0,090.0,091299,002.7,E*7C";


i co sie okazuje,
w pamieci programu wszystko jest OK,
natomiast w pamiec Extended sa wlasnie niektore bajty pomylone

moglby moze ktos ten kod co dalem w pierwszym poscie wyprobowac u siebie ??

pozdrawiam,

Tomek




Poprzedni Następny
Wiadomość
Spis treści
From: "tomm" <tmroz1_at_nospam_poczta.gazeta.pl>
Subject: Re: WinAVR i symulacja w AVR Studio
Date: Thu, 9 Jun 2005 10:45:43 +0200


JUZ SIE wyjasnilo wszystko,

jak to zwykle bywa glupi blad byl,
kompilowalem pod 8535 a do debug'u w AVR Studio
wybralem 128

w koncu kod juz tak skrocilem, ze blad byl zbyt ewidentny
i zaczelame szukac przyczyn gdzies indziej no i znalazlem

pozdrawiam,

Tomek