Stm8s103 élesztése , hibái

Cortex. ARM3, ARM5, ARM7 magok, mindenféle gyártóktól. Programozás-fejlesztés-tippek.
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Stm8s103 élesztése , hibái

Hozzászólás Szerző: kefeur »

Üdv mindenkinek.
Beszereztem pár alappanelt , letöltöttem az alaplap kezelőt .
Az egyszerűbb dolgok működnek , pl: Blink .
Kijelző kezelés is megy -.Nokia5110 , bonyolítom kicsit jönnek is a hibaüzenetek , érthetetlenek számomra.

Arduino: 1.8.5 (Windows 7), Alaplap:"STM8S103F3 Breakout Board"
IC:\Users\Kefeur\AppData\Local\Arduino15\packages\sduino\tools\sdcc\build.10088/include sketch\nokia_lcd_freq-gen_2.ino.cpp -o sketch\nokia_lcd_freq-gen_2.ino.cpp.o
cpp gefunden
D:\Arduino\Saját működő\Szkeccs\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:63: syntax error: token -> ';' ; column 14
exit status 1
Hiba a(z) STM8S103F3 Breakout Board alaplapra fordításra.

A reklamált sorban ennyi van:"AD9833reset(); // Reset AD9833 module after power-up."
Ez vajon mit jelenthet , mi lehet?
Kefeur
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: kefeur »

Azt még tudni illik : kezdő Arduino-s vagyok!
Kefeur
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: Robert »

Az ST... nem a standard támogatott chipkészlet!

Valamelyik újabb Arduino fordítód van fenn.
Nekem akkor ad ilyen hibát, ha a library valamelyik régebbi keretrendszerhez készült.

Az ékezetes könyvtárnév is bekavarhat "---\Saját működĹ‘\.."
http://www.tavir.hu - a gazda :)
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: vargham »

> Alaplap:"STM8S103F3 Breakout Board"
Honnan töltötted le hozzá a szoftverkönyvátrakat?

Nálam egy időben rengeteg problémát okozott a magyar Windows és az ékezetes fájlnevek. Kerülöm őket, azóta egy csomó ezoterikus hiba eltűnt. :-)
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: kefeur »

A könyvtárat https://github.com/tenbaht/sduino ról töltöttem le. Le van írva hogyan telepítendő.
Arduino a legujjab van , külső könyvtárat nem használok a kódban .
Csak azokat amik benne voltak az Stm alaplakezelőben , a többi dolgot megírom rutinba.
Akkor is érdekes hogy a ";" nem tetszik neki , pedig az kell oda.
Van az Stm8 hoz IAR system arduino like programmere , 8 k ig ingyenes .
Szóval ehhez a laphoz fullos. Ki fogom próbálni.
Itt van ha valaki nem ismerné: https://www.iar.com/iar-embedded-workbe ... ree-trials
Regisztráció (könnyű) után A 8 Kbyte code size limitation -t választva kapunk 1 key-t. ez után fullosan megy.
Kefeur
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: vargham »

Kíváncsiságból kérdezem: Miért pont STM8S103F3?
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: kefeur »

Hardveresen elegendő lenne a terveimhez , olcsó , új dolgokat tanulhatok.
Kefeur
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: kefeur »

Persze ez még nem oldotta meg az alap problémát ...
Kefeur
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: kefeur »

Ez kezd kicsit gáz lenni. Ha a hibának vélt sorokat // kiiktatom jönnek más huncutságok.
A fájlnevek is ki lettek igazítva. Ez lenne a bonyolult kód :(

Kód: Egész kijelölése

/*
   PCD8544 - Interface with Philips PCD8544 (or compatible) LCDs.

   Copyright (c) 2010 Carlos Rodrigues <cefrodrigues@gmail.com>
   Ported to C for use with SDCC 2017 Michael Mayer <michael-mayer@gmx.de>

   To use this sketch with a STM8S103 breakout board, connect the eight pins
   from your 5110 LCD like this:

   Pin 1 (VCC)  -> +3.3V (marked by a square around the pin on the silkscreen)
   Pin 2 (GND)  -> Ground
   Pin 3 (SCE)  -> STM8S103 pin PD1 (sduino digital pin 10)
   Pin 4 (RST)  -> STM8S103 pin PC7 (sduino digital pin 9)
   Pin 5 (D/C)  -> STM8S103 pin PC4 (sduino digital pin 6)
   Pin 6 (MOSI) -> STM8S103 pin PC6 (sduino digital pin 8)
   Pin 7 (SCLK) -> STM8S103 pin PC5 (sduino digital pin 7)
   Pin 8 (LED)  -> 330 ohm resistor to Vcc (3.3V) (or to a PWM pin)
   I2C STM8S103 pin3 , pin4

   Since the STM8S works on 3.3V you can connect the data lines directly to
   port lines. If you are using this display with a 5V CPU (like on most
   Arduino boards), you have to add extra components to connect it to the
   digital pins of the Arduino (not necessary if you are using a 3.3V
   variant of the Arduino, such as Sparkfun's Arduino Pro).
*/

#include <PCD8544.h>
#include <SPI.h>


PCD8544 (lcd, PC5, PC6, PC4, PC7, PD1);	     // sclk,sdin,dc,reset,sce

const static float refFreq = 25000000.0;           // On-board crystal reference frequency

const static int FSYNC = 12;

const static int SINE = 0x2000;                    // Define AD9833's waveform register value.
const static int SQUARE = 0x2028;
const static  int TRIANGLE = 0x2002;
static int waveType = SINE;
unsigned static long freq = 1000;

void setup() {
  // PCD8544-compatible displays may have a different resolution...
  lcd_begin_wh(84, 48);

  lcd_setCursor(0, 0);
  lcd_print_s(" Jel Generator");
  delay(3000);
}


//AD9833reset();                                   // Reset AD9833 module after power-up.
//delay(200);
//AD9833setFrequency(freq, SINE);                  // Set the frequency and Sine Wave output


void loop() {

  static int counter = 0;

  //14 karakter->6 sor

  lcd_setCursor(0, 0);
  lcd_print_s("Generator:  ");
  lcd_setCursor(60, 0);
  lcd_print_s(" ON ");
  lcd_setCursor(0, 1);
  lcd_print_s("F=:         ");
  lcd_setCursor(18, 1);
  lcd_print_u(counter);
  lcd_print_s("Hz    ");
  lcd_setCursor(0, 2);
  lcd_print_s("Mode:        ");
  lcd_setCursor(38, 2);
  lcd_print_s(" Manual ");
  lcd_setCursor(0, 3);
  lcd_print_s("Type:        ");
  lcd_setCursor(38, 3);
  lcd_print_s(" Sine' ");
  lcd_setCursor(0, 4);
  lcd_print_s("Min:          ");
  lcd_setCursor(24, 4);
  lcd_print_s("10");
  lcd_print_s("HZ");
  lcd_setCursor(0, 5);
  lcd_print_s("Max:          ");
  lcd_setCursor(24, 5);
  lcd_print_s("12000000");
  lcd_print_s("HZ");

  delay(100);
  counter++;
  if (counter > 12000000) {
    counter = 1;
  }

}

// AD9833 documentation advises a 'Reset' on first applying power.
void AD9833reset() {
  WriteRegister(0x100);   // Write '1' to AD9833 Control register bit D8.
  delay(10);
}

// Set the frequency and waveform registers in the AD9833.
void AD9833setFrequency(static long frequency, static int Waveform) {

  static long FreqWord = (frequency * pow(2, 28)) / refFreq;

  static int MSB = (int)((FreqWord & 0xFFFC000) >> 14);    //Only lower 14 bits are used for data
  static int LSB = (int)(FreqWord & 0x3FFF);

  //Set control bits 15 ande 14 to 0 and 1, respectively, for frequency register 0
  LSB |= 0x4000;
  MSB |= 0x4000;

  WriteRegister(0x2100);
  WriteRegister(LSB);                  // Write lower 16 bits to AD9833 registers
  WriteRegister(MSB);                  // Write upper 16 bits to AD9833 registers.
  WriteRegister(0xC000);               // Phase register
  WriteRegister(Waveform);             // Exit & Reset to SINE, SQUARE or TRIANGLE

}

void WriteRegister(static int dat) {

  // Display and AD9833 use different SPI MODES so it has to be set for the AD9833 here.
  SPI.setDataMode(SPI_MODE2);

  digitalWrite(FSYNC, LOW);           // Set FSYNC low before writing to AD9833 registers
  delayMicroseconds(10);              // Give AD9833 time to get ready to receive data.

  SPI.transfer(highByte(dat));        // Each AD9833 register is 32 bits wide and each 16
  SPI.transfer(lowByte(dat));         // bits has to be transferred as 2 x 8-bit bytes.

  digitalWrite(FSYNC, HIGH);          //Write done. Set FSYNC high
}
És a hibasereg:

Kód: Egész kijelölése

Arduino: 1.8.5 (Windows 7), Alaplap:"STM8S103F3 Breakout Board"

bash.exe: warning: could not find /tmp, please create!
C:\Users\Kefeur\AppData\Local\Arduino15\packages\sduino\tools\sdcc\build.10088/bin/sdcc sketch\nokia_lcd_freq-gen_2.ino.cpp preproc\ctags_target_for_gcc_minus_e.cpp re12 -c -Ddouble=float -D__PROG_TYPES_COMPAT__ -E -MC -mstm8 -DSTM8S103 -DF_CPU=16000000L -DARDUINO=10805 -DARDUINO_STM8S_BLUE -DARDUINO_ARCH_STM8 -IC:\Users\Kefeur\AppData\Local\Arduino15\packages\sduino\hardware\stm8\0.3.2\cores\sduino -IC:\Users\Kefeur\AppData\Local\Arduino15\packages\sduino\tools\sdcc\build.10088/include sketch\nokia_lcd_freq-gen_2.ino.cpp -o sketch\nokia_lcd_freq-gen_2.ino.cpp.o
cpp gefunden
D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:94: warning 94: comparison is always false due to limited range of data type

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:95: warning 126: unreachable code

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:95: warning 126: unreachable code

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:102: warning 112: function 'WriteRegister' implicit declaration

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:102: error 101: too many parameters 

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:107: error 198: storage class other than register specified for parameter 'frequency'

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:107: error 198: storage class other than register specified for parameter 'Waveform'

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:109: warning 112: function 'pow' implicit declaration

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:109: error 101: too many parameters 

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:109: error 106: invalid operand for 'divide' operation

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:118: warning 112: function 'WriteRegister' implicit declaration

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:119: warning 112: function 'WriteRegister' implicit declaration

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:120: warning 112: function 'WriteRegister' implicit declaration

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:121: warning 112: function 'WriteRegister' implicit declaration

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:122: warning 112: function 'WriteRegister' implicit declaration

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:118: error 101: too many parameters 

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:119: error 101: too many parameters 

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:120: error 101: too many parameters 

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:121: error 101: too many parameters 

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:122: error 101: too many parameters 

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:122: warning 85: in function AD9833setFrequency unreferenced function argument : 'Waveform'

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:126: error 198: storage class other than register specified for parameter 'dat'

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:129: error 25: Structure/Union expected left of '.->'

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:134: error 25: Structure/Union expected left of '.->'

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:135: error 25: Structure/Union expected left of '.->'

D:\Arduino\Sajat mukodo\Scatch\nokia_lcd_freq-gen_2\nokia_lcd_freq-gen_2.ino:137: warning 85: in function WriteRegister unreferenced function argument : 'dat'

exit status 1
Hiba a(z) STM8S103F3 Breakout Board alaplapra fordításra.

Ennek a jelentésnek több információja lehetne
a "Bővebb kimenet mutatása fordításkor"
opció engedélyezésével a Fájl -> Beállítások-ban.
Bocsi , de így kevesebb vesz el az oldalból.
Szóval ? Valakinek ötlet?
Eldobós az egész...
Kefeur
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: vargham »

Biztos, hogy ez az LCD lib kompatibilis az STM8 MCU-val?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: Robert »

Honnan töltötted le a pcd-hez a LIB-et? a .h állomány illetve a .cpp utal ara hogy milyen keretrendszerre és board-ra használható....
http://www.tavir.hu - a gazda :)
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: kefeur »

Az lcd Lib, je benne volt a Sduino csomagban.
Azzal nincs is baj , Nem nagy tudású , de müxik.
A fura hibaüzenetek nem jönnek ha csak lcd van benne a kódban .
Kefeur
vargham
Chipgyilok
Hozzászólások: 308
Csatlakozott: 2014. január 8. szerda, 8:32

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: vargham »

Hardveresen elegendő lenne a terveimhez , olcsó , új dolgokat tanulhatok.
Én ilyen alapon inkább az STM32-t választottam. Az általad linkelt STM8 breakout árában lehet kapni STM32F103 alaplapot is. Van hozzá Arduino támogatás is.
Az a tapasztalatom, ha valami most elég a tervekhez, akkor fél év múlva már kicsi lesz. ;-) Mindegy, hogy hobbi projektet vagy munka.
Avatar
kefeur
Tranzisztorgyógyász
Hozzászólások: 187
Csatlakozott: 2008. február 17. vasárnap, 7:00

Re: Stm8s103 élesztése , hibái

Hozzászólás Szerző: kefeur »

:(
Igazat adok , másra majd jók lesznek...
Kefeur
Válasz küldése