Fórum témák

» Több friss téma
Fórum » ARM - Miértek hogyanok
 
Témaindító: gtk, idő: Jún 26, 2007
Lapozás: OK   166 / 166
(#) benjami válasza rolandgw hozzászólására (») Jún 26, 2022 /
 
A VSCode - CMake kombinációba nekem beletört a bicskám (bár ha jól emlékszem a debugger funkciókat nem sikerült csak működésre bírnom, a fordító az ment). Viszont a PlatformIO remekül működik a VSCode alatt. Ha nem ragaszkodsz minden áron a Pico SDK - CMake kombinációhoz próbáld ki ezt. A Debug funkcióhoz egy másik Pico-t használok, arra a picoprobe.uf2-t kell feltölteni, és összekötni a cél pico board-al.
(#) rolandgw válasza benjami hozzászólására (») Jún 26, 2022 /
 
Nem kaptam ST-t, azért vásároltam, de egész jó és olcsó. Később jöttem rá, hogy kettőt kellett volna. Megpróbálom a PlatformIO-t is, bár lehet, hogy MicroPython lesz a vége.
Köszönöm!
(#) rolandgw válasza benjami hozzászólására (») Jún 28, 2022 /
 
Egy kérdés még, ha erre jársz. A PIO periféria programozása megoldható a platformio arduino-ban?
(#) vorosj hozzászólása Jún 28, 2022 /
 
Az Arduino alapja C++, néhány a kezdést könnyítő kiegészítéssel. A ténylegest fordítást ugyanaz a compiler végzi, ami közvetlenül c++-ban írt program esetében is működne. Emiatt minden olyan kódot be lehet illeszteni, ami az eredeti C környezetben működőképes.
Ha egy adott feladatra van kész Arduino library, az persze a legegyszerűbb. Ha nincs, akkor vagy ugyanott, mintha natívan c-ben vagy c++-ban programoznál. Meg kell nézni a megfelelő gyártó által adott periféria library-t, ha abban nincs, akkor azt, hogy valaki esetleg közzétett-e hasonlót c-ben vagy c++-ban, ha az sincs, akkor végső esetben a hardware leírás alapján kell összehozni.
(#) rolandgw válasza vorosj hozzászólására (») Jún 28, 2022 /
 
Az egyedisége okán kérdeztem a PIO-t, ha nekem szól a válaszod.
Az SDK-ban létrehoznak egy .pio fájlt és a Cmake-ben pico_generate_pio_header-el generálnak header fájlt.
Erre lettem volna kíváncsi, hogy SDK nélkül hogy megy, illetve megoldott-e?
(#) vorosj hozzászólása Jún 28, 2022 /
 
Ezt próbáltam leírni. Több eset van:
1. valaki megírt olyan Arduino library-t, amely tartalmaz PIO kódot is, ez esetben nem kell a használatához semmi különös, minden pio specifikus kód az objektum belügye
Pl. egy minta arra, hogy hogyan néz ki a pio specifikus kód Arduino programon belül:
https://github.com/pierremolinaro/rp2040-charlieplexing
2. valaki megírt egy kódot az SDK-val, amit leközölt, de nem Arduino library formájában - ezt különösebb nehézség nélkül be lehet illeszteni az Arduino programba (mert ugyanaz a compiler ugyanúgy fordít a végén), ebben segíthet pl. a fenti példa
3. kifejezetten egyedi pio programozásra tudomásom szerint az Arduino nem ad saját eszközt, ha erre van szükség, ugyanazt ugyanúgy kell csinálni, mintha nem Arduino-ban lennél.
(#) benjami válasza rolandgw hozzászólására (») Jún 28, 2022 /
 
Igen, használható. A project-hez tartozó platformio.ini-be kell beírni ilyen módon. Mondjuk én eddig csak baremetal framework módon használtam, de szerintem arduino módban is kellene működnie.
Amúgy ez alapján telepítettem a környezetet.
(#) rolandgw válasza benjami hozzászólására (») Jún 28, 2022 /
 
Köszönöm!
(#) Jonni hozzászólása Jún 29, 2022 /
 
Sziasztok

Egy kódot akartam feltölteni NUCLEO-F302R8 ra arduino ide-vel de már fordítás közben elakadt ennél a sornál
  1. LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

  1. //YWROBOT
  2. //Compatible with the Arduino IDE 1.0
  3. //Library version:1.1
  4. #include <Wire.h>
  5. #include <LiquidCrystal_I2C.h>
  6.  
  7. #if defined(ARDUINO) && ARDUINO >= 100
  8. #define printByte(args)  write(args);
  9. #else
  10. #define printByte(args)  print(args,BYTE);
  11. #endif
  12.  
  13. uint8_t bell[8]  = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
  14. uint8_t note[8]  = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
  15. uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
  16. uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
  17. uint8_t duck[8]  = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
  18. uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
  19. uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
  20. uint8_t retarrow[8] = { 0x1,0x1,0x5,0x9,0x1f,0x8,0x4};
  21.  
  22. LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display
  23.  
  24. void setup()
  25. {
  26.   lcd.init();                      // initialize the lcd
  27.   lcd.backlight();
  28.  
  29.   lcd.createChar(0, bell);
  30.   lcd.createChar(1, note);
  31.   lcd.createChar(2, clock);
  32.   lcd.createChar(3, heart);
  33.   lcd.createChar(4, duck);
  34.   lcd.createChar(5, check);
  35.   lcd.createChar(6, cross);
  36.   lcd.createChar(7, retarrow);
  37.   lcd.home();
  38.  
  39.   lcd.print("Hello world...");
  40.   lcd.setCursor(0, 1);
  41.   lcd.print(" i ");
  42.   lcd.printByte(3);
  43.   lcd.print(" arduinos!");
  44.   delay(5000);
  45.   displayKeyCodes();
  46.  
  47. }
  48.  
  49. // display all keycodes
  50. void displayKeyCodes(void) {
  51.   uint8_t i = 0;
  52.   while (1) {
  53.     lcd.clear();
  54.     lcd.print("Codes 0x"); lcd.print(i, HEX);
  55.     lcd.print("-0x"); lcd.print(i+16, HEX);
  56.     lcd.setCursor(0, 1);
  57.     for (int j=0; j<16; j++) {
  58.       lcd.printByte(i+j);
  59.     }
  60.     i+=16;
  61.    
  62.     delay(4000);
  63.   }
  64. }
  65.  
  66. void loop()
  67. {
  68.  
  69. }

viszont ha átrakom arduino nano-ra simán hiba nélkül lefordítja.
Ilyenkor mi lehet a baja?
Alul pirossal ezt a hibaüzenetet írja

Arduino: 1.8.18 (Windows 10), Alaplap:"Nucleo-64, Nucleo F302R8, Mass Storage, Enabled (generic 'Serial'), CDC (generic 'Serial' supersede U(S)ART), Low/Full Speed, Smallest (-Os default), Newlib Nano (default)"

CustomChars:22:31: error: invalid conversion from 'int' to 't_backlighPol' [-fpermissive]

In file included from C:\Users\User\Documents\Arduino\kész programok\libraries\LiquidCrystal_I2C\examples\CustomChars\CustomChars.pde:5:

C:\Users\User\Documents\Arduino\libraries\New-LiquidCrystal-master/LiquidCrystal_I2C.h:53:76: note: initializing argument 3 of 'LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, t_backlighPol)'

53 | LiquidCrystal_I2C (uint8_t lcd_Addr, uint8_t backlighPin, t_backlighPol pol);

| ~~~~~~~~~~~~~~^~~

C:\Users\User\Documents\Arduino\kész programok\libraries\LiquidCrystal_I2C\examples\CustomChars\CustomChars.pde: In function 'void setup()':

CustomChars:26:12: error: 'int LiquidCrystal_I2C::init()' is private within this context

In file included from C:\Users\User\Documents\Arduino\kész programok\libraries\LiquidCrystal_I2C\examples\CustomChars\CustomChars.pde:5:

C:\Users\User\Documents\Arduino\libraries\New-LiquidCrystal-master/LiquidCrystal_I2C.h:154:9: note: declared private here

154 | int init();

| ^~~~

Többszörös könyvtárak találhatók ehhez: "LiquidCrystal_I2C.h"

Használt: C:\Users\User\Documents\Arduino\libraries\New-LiquidCrystal-master

Nem használt: C:\Users\User\Documents\Arduino\libraries\LiquidCrystal_I2C

exit status 1

invalid conversion from 'int' to 't_backlighPol' [-fpermissive]

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.
(#) icserny válasza Jonni hozzászólására (») Jún 29, 2022 /
 
Idézet:
„LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display”

A hibajelzések szerint a te esetedben ezeknek a paramétereknek teljesen más a szerepe (és az adattípusa):
  1. LiquidCrystal_I2C (uint8_t lcd_Addr, uint8_t backlighPin, t_backlighPol pol);


Ennek oka pedig az lehet, hogy a LiquidCrystal_I2C helyett a New-LiquidCrystal programkönyvtárat akarja befordítani a programodhoz.

Szerencsétlen módon mindkettőnek LiquidCrystal_I2C.h nevű a fejléc állománya. Ezt a kettősséget valahogy fel kellene oldani.
A hozzászólás módosítva: Jún 29, 2022
(#) Jonni válasza icserny hozzászólására (») Jún 29, 2022 /
 
Ha törölni tudnám New-LiquidCrystal -t az megoldás lenne?
(#) Jonni válasza icserny hozzászólására (») Jún 29, 2022 /
 
Kitöröltem átmenetileg New-LiquidCrystal könyvtárat. Alulra kiirta pirossal hogy
"FIGYELEM: A(z) LiquidCrystal_I2C könyvtár avr architektúrán való futást igényel és inkompatibilis lehet a jelenlegi alaplapoddal, ami stm32 architektúrát futtat."
de ennek ellenére jól müködik minden.

Már csak az a kérdés hogy fog-e nekem hiányozni az a könyvtár
(#) Mate12345 hozzászólása Júl 7, 2022 /
 
Sziasztok,

Bocs, ha amatőr a kérdésem, de teljesen új vagyok az ARM-ben, eddig inkább PIC-es voltam.
Megörököltem egy NYÁK-ot, amin csücsül egy FSC-BT-630 modul. Van neki egy TC2050-CTX-NL csatlakozója a NYÁK-on, amin keresztül tudom programozni.
El kellene végeznem néhány mérést, amihez újra kellene programoznom, viszont nem tudom, mivel. A doksik alapján egy J-Link Lite CortexM-9-re van szükségem és egy TC2050-CTX-NL kábelre. Előbbire a Farnell-nél rákeresve 200.000Ft alatt nem sok minden volt, amit kicsit sokallok egy programozóért, nem ehhez szoktam.

Van esetleg tapasztalatotok az FSC-BT-630 modullal? Mit javasoltok programozásra?
(#) vargham válasza Mate12345 hozzászólására (») Júl 7, 2022 / 1
 
J-Link ára ennyi.
(#) vargham válasza Mate12345 hozzászólására (») Júl 7, 2022 / 1
 
Vegyél egy ilyet:
NRF52-DK
Csak 14 ezer forint. Ugyanaz a mikrokontroller van rajta, ráépített J-Link debuggerrel. Ha jól emlékszem, ezt a debuggert másik panelen lévő mikrokontrollerrel is használhatod. A kikötés csak annyi, hogy az is Nordic gyártmány legyen.
(#) Mate12345 válasza vargham hozzászólására (») Júl 7, 2022 /
 
Köszönöm. Ezt mintha pont nekem találták volna ki.
(#) vorosj válasza Mate12345 hozzászólására (») Júl 7, 2022 / 1
 
A J-Linknek van Edu változata, amely egyetlen lényeges korlátozást tartalmaz: nem használható üzleti célra.
Én hobby célra használom a J-Link Edu Mini-t (ez kisebb, olcsóbb és valamivel lassúbb), meg a J-Link Edu-t is, amely egy az egyben a J-Link, kivéve a korlátozást.
Az Edu Mini 10e Ft alatt van normálisan, de legtöbb helyen kifogyott. Az ebay-en van 20-ért.
Ezek minden, a Segger által támogatott uC-hez jók.
A hozzászólás módosítva: Júl 7, 2022
(#) vorosj válasza vorosj hozzászólására (») Júl 8, 2022 / 2
 
Keresgéltem, itt a link szerint raktáron van. A Google találta, semmit se tudok a boltról.
https://www.epromirok.hu/index.php?route=product/product&produc...d=1087
(#) Jonni hozzászólása Júl 10, 2022 /
 
Sziasztok

NUCLEO-F302R8-al kéne egy li-po akku feszültségét megmérjem de az analog bemenetem csak 3,3V-t fogadhat, viszont az aksi akár 4,2 V-ra is feltöltődik. Meg lehet oldani a mérést valahogy?
(#) Peppe válasza Jonni hozzászólására (») Júl 10, 2022 / 2
 
feszültségosztó? Ha le felezed a 4.2V-ot, 2,1V a max ami az STM lábára jut. A többi matek.
A hozzászólás módosítva: Júl 10, 2022
Következő: »»   166 / 166
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem