Fórum témák

» Több friss téma
Fórum » MSP430 mikrovezérlők
 
Témaindító: gomzito, idő: Ápr 21, 2006
Témakörök:
Lapozás: OK   58 / 139
(#) DecebaL válasza ZsoltiD hozzászólására (») Máj 29, 2012 /
 
Igen a + és föld közé, az egyik a simítást végezte 220µF a másik a nagyfrekvenciás szűrést 100 nf. Ha akksiról sem megy akkor akkor ott más gond van. A Launchpadra az usb csatlakozón keresztül kapcsolod rá a feszültséget? A Launchpadon a TPS77301 max 10V visel el.
(#) DecebaL válasza kardexcsaba hozzászólására (») Máj 29, 2012 /
 
2452-vel is meg lehet csinálni, de ha meg tudod oldani egy 2553-al mindenképp egyszerűbb lesz a dolgod. Itt egy cikk magyarul az i2C komunikációról
Ez meg UART komunikációról
Itt mintapéldák vannak töltsd le a procidhoz a megfelelőt.
(#) ZsoltiD válasza DecebaL hozzászólására (») Máj 29, 2012 /
 
Persze a feszültséget előtte leszabályzom egy szab.IC-vel.
Kipróbálom a kondis dolot, aztán mondom, hogy sikerült-e.

Köszi!

Zsolti
(#) ZsoltiD válasza ZsoltiD hozzászólására (») Máj 29, 2012 /
 
Sajnos nem oldotta meg a problémát a kondi :S
(#) szitko hozzászólása Máj 30, 2012 /
 
Sziasztok.
Egy pár nap vacakolás után, sikerült egy g2xx2-es vezérlővel, i2c-n adatot küldeni egy pcf8574-nek. Sajnos a mintapéldákban szereplő i2c-s progikat, én valahogy nem látom át, (nem tudom miért, de szerintem túl van bonyolítva) ezért próbáltam leegyszerűsíteni, több-kevesebb sikerrel. A problémám, hogy nekem fogadni kéne adatot a pcf-től, és ez nem akar összeállni. Egy 4x3-as billentyűmátrixot szeretnék rárakni, (pcf8574-re) és ezt kellene figyelnem i2c-n. Ráadásul mindezt megszakításban. Becsatoltam azt a progit, amivel küldök adatot, de valamiért az sem jó teljesen mert a "slave address" megadása után, hiába írom, hogy a felső 4 bit magas (bemenet) legyen, kimenetként kezeli.
Ha valaki esetleg tudna segíteni, megköszönném.

main.c
    
(#) DecebaL válasza szitko hozzászólására (») Máj 30, 2012 /
 
Szia!

Én ott látom a hibát hogy, ha PCF-ből ha olvasni akarsz akkor cím 0x41.
(#) szitko válasza DecebaL hozzászólására (») Máj 31, 2012 /
 
Köszi.
A címzéssel nem volt baj, csak azt a progit raktam be, amivel írni kell a pcf-re. Most már megoldottam a dolgot, de még mindíg nem tökéletes, mert ha először küldök, akkor utána már nem tudok fogadni, de fordítva működik, de csak egyszer.
Ezenkívül még a megszakítással szenvedek. Nem értem, hogy állítsam be, hogyha P0-7 bemenet, akkor pl. gombnyomásra megszakítást csináljon.

(A g2xx3-as sorozattal már megcsináltam, ott működik a bill.mátrix kezelés pcf8574-el, de a g2xx2-es sorozat i2c kezelése feladta a leckét.)
(#) DecebaL válasza szitko hozzászólására (») Máj 31, 2012 /
 
Nekem is van félbehagyva egy 2XX2 i2c projektem, elakadtam, DS1337 -RTC-vel szívok. Végül abbahagytam és 2553-al oldottam meg.
(#) szitko válasza DecebaL hozzászólására (») Máj 31, 2012 /
 
Idézet:
„Nekem is van félbehagyva egy 2XX2 i2c projektem,”

Még nincs kész teljesen, de már működik, egy "egyszerűsített" g2xx2-es i2c kezelőprogram. (tegnap éjjel írtam mérgemben, látni rajta, mert még a neven sem tudtam rendesen leírni) Nézd át hátha segít.
Még fel kéne kommenteznem, és kijavítani az apróbb hibákat, plusz teljesen hordozhatóvá kéne tenni. Bár törekedtem rá, hogy az legyen.

main.c
    
(#) uli hozzászólása Máj 31, 2012 /
 
Hali! Hova lett a cikkek közül az első rész??? Most lenne egy kis időm játszadozni a launchpaddal, erre nem találom, mit hogy kéne....
(#) icserny válasza uli hozzászólására (») Máj 31, 2012 /
 
Felnyitottam, mert írnám a harmadik részt, s betoldottam egy megjegyzést:

Megjegyzés: A Texas Instruments ennek a cikknek a megjelenése óta átdolgozta az MSP-EXP430G2 gyakorló kártyát, s azóta már csak a Rev 1.5 kiadást lehet kapni, ami néhány apróságban eltér a korábbi kiadásoktól. A cikksorozat III. részében ismertetem az eltéréseket, s mondom el, hogy az első két rész mintaprogramjain mit kell változtatni, hogy az új kártyán is fussanak.

De most lehet, hogy kútbaesik az egész, mert többnapi kinlódásom ellenére se programlistát nem tudok beszúrni, se a betűszinezés nem működik a cikkírás szerkesztőjében, úgyhogy most nagyon tele van a hócipőm a technikai korlátokkal.

Az első cikkről egy munkaváltozat az esca.atomki.hu/launchpad/ címen található.
(#) szitko válasza icserny hozzászólására (») Máj 31, 2012 /
 
Idézet:
„mert többnapi kinlódásom ellenére se programlistát nem tudok beszúrni,”

A fórum szerkesztők sem tudják a választ?
(#) uli válasza icserny hozzászólására (») Máj 31, 2012 /
 
Áh, értem, köszönöm! Várom az új cikket! És köszi a linket is!

Ha valaki ráér, segítene egy kicsit?
Stopper órát szeretnék készíteni, LED kijelzőset. A multiplex üzemmód már működik. Amire gondoltam: Amíg a gombot nyomva tartom, méri az időt. Majd elengedés után megjeleníti a kijelzőn.
A gomb megnyomós rész még nincs beleírva.
A switch rész egyáltalán nem működik. Lelassítottam (delay-t feljebb vettem), hogy lássam mi történik. Végigszámol 0..9-ig. Ez miért lehet? Nem az a lényege a switch-nek, hogy megnézi melyik érték a egyezik, és csak azt a részt hajtja végre?
A kódja:

  1. #include "msp430g2553.h"
  2.  
  3. int a = BIT0;//Segment A on P1.0
  4. int b = BIT1;//Segment B on P1.1
  5. int c = BIT2;//Segment C on P1.2
  6. int d = BIT7;//Segment D on P1.3
  7. int e = BIT4;//Segment E on P1.4
  8. int f = BIT5;//Segment F on P1.5
  9. int g = BIT6;//Segment G on P1.6
  10. //int dp= BIT7;
  11. int elso =  BIT0;
  12. int masod = BIT1;
  13. int harmad = BIT2;
  14. int negyed = BIT3;
  15. int mpt = 0; //másodperc tízes helyiérték
  16. int mp = 0;
  17. int tmpt = 0; //tizedmásodperc tízes h.é.
  18. int tmp = 0;
  19.  
  20.  
  21.  
  22.  
  23.  
  24. void delay(unsigned int j)   //ezred másodperc tized része, a multiplex miatt nem ezredmásodperc.
  25. {
  26.   for (int i=0; i<j; i++)
  27.   __delay_cycles(100);
  28. }
  29.  
  30.  
  31.  
  32.  
  33. void main(void)
  34. {
  35.   WDTCTL = WDTPW + WDTHOLD;
  36.   BCSCTL1 = CALBC1_1MHZ;
  37.   DCOCTL = CALDCO_1MHZ;
  38.  
  39.   P1DIR |= (a+b+c+d+e+f+g);
  40.   P2DIR |= (elso+masod+harmad+negyed);
  41.   P2OUT |= (elso+masod+harmad+negyed); //p2 out azért hi, mert pnp tranyókat találtam itthon.
  42.  
  43.   P1DIR &= ~ BIT3;  
  44.   P1OUT |= BIT3;
  45.   P1REN |= BIT3;
  46.  
  47.  
  48.  
  49.  
  50.  // int i=0;
  51.  
  52.   int a0=(a+b+c+d+e+f);
  53.   int a1=(b+c);
  54.   int a2=(a+b+g+e+d);
  55.   int a3=(a+b+g+c+d);
  56.   int a4=(f+g+b+c);
  57.   int a5=(a+f+g+c+d);
  58.   int a6=(a+f+e+d+c+g);
  59.   int a7=(a+b+c);
  60.   int a8=(a+b+c+d+e+f+g);
  61.   int a9=(a+b+c+d+f+g);
  62.  
  63.   P1OUT &= ~(a+b+c+d+e+f+g);
  64.  
  65.   while (1)
  66.   {
  67.     while (!(P1IN & BIT3))  //amíg nyomva van a gomb
  68.     {
  69.       P2OUT &= ~elso;   // itt nem ez lesz, ez csak a teszt
  70.       P1OUT |= a0;
  71.       delay(1);
  72.       P1OUT &= ~a0;
  73.       P2OUT |= elso;
  74.      
  75.       P2OUT &= ~masod;
  76.       P1OUT |= a1;
  77.       delay(1);
  78.       P1OUT &= ~a1;
  79.       P2OUT |= masod;
  80.      
  81.      
  82.     }
  83.  
  84.     mpt=1;            //adok nekik értékeket, hogy megnézzem, működik-e a switch
  85.     mp=2;
  86.     tmpt=3;        
  87.     tmp=4;
  88.     P2OUT &= ~elso;
  89.     switch (mpt)
  90.       {
  91.       case 0:
  92.         {
  93.           P1OUT |= a0;
  94.           delay(1000);    // ezek azért ilyen nagyok, hogy lássam mi történik
  95.           P1OUT &= ~a0;
  96.         }
  97.       case 1:
  98.         {
  99.           P1OUT |= a1;
  100.           delay(1000);
  101.           P1OUT &= ~a1;
  102.         }
  103.       case 2:
  104.         {
  105.           P1OUT |= a2;
  106.           delay(1000);
  107.           P1OUT &= ~a2;
  108.         }
  109.        case 3:
  110.         {
  111.           P1OUT |= a3;
  112.           delay(1000);
  113.           P1OUT &= ~a3;
  114.         }
  115.       case 4:
  116.         {
  117.           P1OUT |= a4;
  118.           delay(1000);
  119.           P1OUT &= ~a4;
  120.         }
  121.       case 5:
  122.         {
  123.           P1OUT |= a5;
  124.           delay(1000);
  125.           P1OUT &= ~a5;
  126.         }
  127.       case 6:
  128.         {
  129.           P1OUT |= a6;
  130.           delay(1000);
  131.           P1OUT &= ~a6;
  132.         }
  133.       case 7:
  134.         {
  135.           P1OUT |= a7;
  136.           delay(1000);
  137.           P1OUT &= ~a7;
  138.         }
  139.       case 8:
  140.         {
  141.           P1OUT |= a8;
  142.           delay(1000);
  143.           P1OUT &= ~a8;
  144.         }
  145.       case 9:
  146.         {
  147.           P1OUT |= a9;
  148.           delay(1000);
  149.           P1OUT &= ~a9;
  150.         }
  151.       }
  152.     P2OUT |= elso;
  153.    
  154.     P2OUT &= ~masod;
  155.     switch (mp)
  156.       {
  157.       case 0:
  158.         {
  159.           P1OUT |= a0;
  160.           delay(1);
  161.           P1OUT &= ~a0;
  162.         }
  163.       case 1:
  164.         {
  165.           P1OUT |= a1;
  166.           delay(1);
  167.           P1OUT &= ~a1;
  168.         }
  169.       case 2:
  170.         {
  171.           P1OUT |= a2;
  172.           delay(1);
  173.           P1OUT &= ~a2;
  174.         }
  175.        case 3:
  176.         {
  177.           P1OUT |= a3;
  178.           delay(1);
  179.           P1OUT &= ~a3;
  180.         }
  181.       case 4:
  182.         {
  183.           P1OUT |= a4;
  184.           delay(1);
  185.           P1OUT &= ~a4;
  186.         }
  187.       case 5:
  188.         {
  189.           P1OUT |= a5;
  190.           delay(1);
  191.           P1OUT &= ~a5;
  192.         }
  193.       case 6:
  194.         {
  195.           P1OUT |= a6;
  196.           delay(1);
  197.           P1OUT &= ~a6;
  198.         }
  199.       case 7:
  200.         {
  201.           P1OUT |= a7;
  202.           delay(1);
  203.           P1OUT &= ~a7;
  204.         }
  205.       case 8:
  206.         {
  207.           P1OUT |= a8;
  208.           delay(1);
  209.           P1OUT &= ~a8;
  210.         }
  211.       case 9:
  212.         {
  213.           P1OUT |= a9;
  214.           delay(1);
  215.           P1OUT &= ~a9;
  216.         }
  217.       }
  218.     P2OUT |= masod;
  219.    
  220.     P2OUT &= ~harmad;
  221.     switch (tmpt)
  222.       {
  223.       case 0:
  224.         {
  225.           P1OUT |= a0;
  226.           delay(1);
  227.           P1OUT &= ~a0;
  228.         }
  229.       case 1:
  230.         {
  231.           P1OUT |= a1;
  232.           delay(1);
  233.           P1OUT &= ~a1;
  234.         }
  235.       case 2:
  236.         {
  237.           P1OUT |= a2;
  238.           delay(1);
  239.           P1OUT &= ~a2;
  240.         }
  241.        case 3:
  242.         {
  243.           P1OUT |= a3;
  244.           delay(1);
  245.           P1OUT &= ~a3;
  246.         }
  247.       case 4:
  248.         {
  249.           P1OUT |= a4;
  250.           delay(1);
  251.           P1OUT &= ~a4;
  252.         }
  253.       case 5:
  254.         {
  255.           P1OUT |= a5;
  256.           delay(1);
  257.           P1OUT &= ~a5;
  258.         }
  259.       case 6:
  260.         {
  261.           P1OUT |= a6;
  262.           delay(1);
  263.           P1OUT &= ~a6;
  264.         }
  265.       case 7:
  266.         {
  267.           P1OUT |= a7;
  268.           delay(1);
  269.           P1OUT &= ~a7;
  270.         }
  271.       case 8:
  272.         {
  273.           P1OUT |= a8;
  274.           delay(1);
  275.           P1OUT &= ~a8;
  276.         }
  277.       case 9:
  278.         {
  279.           P1OUT |= a9;
  280.           delay(1);
  281.           P1OUT &= ~a9;
  282.         }
  283.       }
  284.     P2OUT |= harmad;
  285.    
  286.     P2OUT &= ~negyed;
  287.     switch (tmp)
  288.       {
  289.       case 0:
  290.         {
  291.           P1OUT |= a0;
  292.           delay(1);
  293.           P1OUT &= ~a0;
  294.         }
  295.       case 1:
  296.         {
  297.           P1OUT |= a1;
  298.           delay(1);
  299.           P1OUT &= ~a1;
  300.         }
  301.       case 2:
  302.         {
  303.           P1OUT |= a2;
  304.           delay(1);
  305.           P1OUT &= ~a2;
  306.         }
  307.        case 3:
  308.         {
  309.           P1OUT |= a3;
  310.           delay(1);
  311.           P1OUT &= ~a3;
  312.         }
  313.       case 4:
  314.         {
  315.           P1OUT |= a4;
  316.           delay(1);
  317.           P1OUT &= ~a4;
  318.         }
  319.       case 5:
  320.         {
  321.           P1OUT |= a5;
  322.           delay(1);
  323.           P1OUT &= ~a5;
  324.         }
  325.       case 6:
  326.         {
  327.           P1OUT |= a6;
  328.           delay(1);
  329.           P1OUT &= ~a6;
  330.         }
  331.       case 7:
  332.         {
  333.           P1OUT |= a7;
  334.           delay(1);
  335.           P1OUT &= ~a7;
  336.         }
  337.       case 8:
  338.         {
  339.           P1OUT |= a8;
  340.           delay(1);
  341.           P1OUT &= ~a8;
  342.         }
  343.       case 9:
  344.         {
  345.           P1OUT |= a9;
  346.           delay(1);
  347.           P1OUT &= ~a9;
  348.         }
  349.       }
  350.       P2OUT |= negyed;
  351.      
  352. }
  353.    
  354.    
  355. }


Ha valakinek van ötlete, meghallgatom. Köszi: uli


Közben rájöttem mi a baj a switc-el, úgyhogy a hozzászólás tárgytalan.
uli
(#) icserny válasza szitko hozzászólására (») Jún 1, 2012 /
 
Idézet:
„A fórum szerkesztők sem tudják a választ?”
Eddig nem kaptam választ.
(#) szitko válasza icserny hozzászólására (») Jún 1, 2012 /
 
Már kaptál.
(#) szitko hozzászólása Jún 1, 2012 / 1
 
Sziasztok.
"Elkészült" az USI i2c kommunikációs programocskám. Mivel a cikkíráshoz továbra sem értek, és nem vagyok olyan kitartó, mint Icserny fórumtársunk, ezért csak ide rakom be, mint ahogy azt eddig is tettem.
A program, az MSP430g2xx1 g2xx2-es sorozatok, Universal Serial Interface (USI) modul i2c kommunikációjához készült! Bővithető, és hordozható. (remélem)
A program használatát, két kis programmal is bemutatom:
1: PCF8574-re írás.
  1. // PCF 8574 i2c vezérlése: P0-P7 kimenetetn 1-1 led. A program ezeket kapcsolja egyesével,
  2. // a "for" ciklus, és a "bitek" táblázat segítségével.
  3. #include "io430.h"
  4. #include "i2c_g2xx2.h"
  5. #include "stdint.h"
  6.  
  7. char bitek[8] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
  8.  
  9. int main(void){
  10.    
  11.     WDTCTL = WDTPW + WDTHOLD;        // Stop watchdog
  12.     BCSCTL1 = CALBC1_1MHZ;           // Set DCO
  13.     DCOCTL = CALDCO_1MHZ;
  14.    
  15.     i2c_init();                      // i2c setup
  16.     i2c_start();                     // i2c start
  17.     i2c_slave_cim(0x20,0);           // slave cím + írás
  18.    
  19.     for(char i=0; i < 7; i++){
  20.         i2c_write_byte(bitek[i]);    //
  21.         __delay_cycles(1000000);
  22.     }
  23.     i2c_stop();                      // i2c stop
  24.     return 0;                        // program vége.
  25. }

2: 24xxXXX eeprom, írás olvasás.
  1. // 24WC16P eeprom írása, olvasása. A program, a kis "b" betűt (hex0x62) írja az eepormba,
  2. // majd visszaolvassa. A végén megnézi, hogy a visszaolvasott érték, egyezik-e a beírtal.
  3.  
  4. #include "io430.h"
  5. #include "i2c_g2xx2.h"
  6. #include "stdint.h"
  7.  
  8. char adat_k='b', adat_f=0;        //adat_k = adat küldés, adat_f = adat fogadás
  9.  
  10. int main(void){
  11.    
  12.     WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog
  13.     BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  14.     DCOCTL = CALDCO_1MHZ;
  15.    
  16.     P1DIR |= BIT0;
  17.     P1OUT &= ~BIT0;
  18.    
  19.     i2c_init();                 // i2c setup
  20. // ------------------ eeprom írás
  21.     i2c_start();                // i2c start
  22.     i2c_slave_cim(0x50,0);      // slave cím 1-el jobbra tolva + írás
  23.     i2c_write_byte(0x00);       // eeprom register cím. Ahova az adat kerül
  24.     i2c_write_byte(adat_k);     // adat, amit az eepromba írunk
  25.     i2c_stop();                 // i2c stop
  26.        
  27.     __delay_cycles(100000);
  28.        
  29. // ------------------ eeprom olvasás
  30.     i2c_start();                // i2c start      
  31.     i2c_slave_cim(0x50,0);      // slave cím 1-el jobbra tolva + írás
  32.     i2c_write_byte(0x00);       // eeprom register cím. Ahonnan kiolvassuk az adatot
  33.     i2c_start_ismetles();       // újra start
  34.     i2c_slave_cim(0x50,1);      // slave cím 1-el jobbra tolva + olvasás
  35.     adat_f = i2c_read_byte();     // A visszatérési érték lesz az olvasott bájt
  36.     i2c_stop();                 // i2c stop
  37.    
  38. // ------------------ A vizsgálat
  39.     if(adat_k == adat_f){       // megvizsgáljuk, hogy a beírt adat, egyezik-e a kiolvasottal
  40.         P1OUT |= BIT0;          // ha egyezik, akkor LED1 világít
  41.     }                           // ha nem egyezik, akkor LED1 nem világít
  42.     __no_operation();
  43.     return 0;                   // program vége.
  44. }

Ha hibát találtok, kérem jelezzétek.

Üdv. Gábor.
(#) mechanika válasza icserny hozzászólására (») Jún 1, 2012 /
 
Kedves Icserny!

Nagyon köszönjük az eddigi munkádat a 430-as cikksorozat kapcsán.
Számomra, aki teljesen kezdő, teljesen amatőr, a legfontosabb tananyag a témában. Rengeteget használom a tanulásom során.
A sorozat III. részét, szerintem többed magammal nagyon várjuk. A további munkádhoz illetve a technikai korlátok legyőzéséhez pedig kitartást!
Köszönöm!
(#) röntgen válasza uli hozzászólására (») Jún 1, 2012 /
 
Szerintem egy 'break;' utasítás hiányzik mindegyik 'case' modulban. :yes:
(#) uli válasza röntgen hozzászólására (») Jún 1, 2012 /
 
Igen, az volt a baj Köszi!
(#) DecebaL válasza szitko hozzászólására (») Jún 1, 2012 /
 
Szép munka! Köszönet érte.
(#) szitko válasza DecebaL hozzászólására (») Jún 1, 2012 /
 
Szívesen.
Bár a pcf8574-től már kezdek becsavarodni, mert nem azt csinálja amit szeretnék.
Eleinte azt hittem, hogy valamit elszúrtam az i2c kódban, és már ott tartottam, hogy töröltetem a hsz-t, de az EEPROM-ot teljesen jól kezeli, és elővettem egy mcp23008-ast, amit szintén jól kezel. De hogy a pcf-el miért kell ennyit vacakolmi, azt nem értem. Igaz, találtam hozzá több adatlapot is, és nem teljesen ugyanaz van bennük írva.
(#) gyengus válasza szitko hozzászólására (») Jún 2, 2012 /
 
Szia!

Köszönöm szépen!

Lenne máris egy kérdésem:
a main() végén miért van return 0; ?
Én ugy tudom, hogy a mikrovezérlőknél a program végtelen ciklusban van, vagy ha olyan a feladat, akkor a program után van egy végtelen ciklus. Különben a mikrovezérlő folytatja az utasítások végrehajtását és végrehajtja amit a programmemória nem használt részein talál.
Az MSP430-aknál ez máshogy van? A return 0; hatásárá leáll a mikrovezérlő?
(#) szitko válasza gyengus hozzászólására (») Jún 2, 2012 /
 
Idézet:
„A return 0; hatásárá leáll a mikrovezérlő?”

Igen.
Bővebben: Mivel szemléltetés céljából készítettem a két programot, így csak akkor van értelme a futtatásuknak, ha látjuk, hogy mit csinál. Namármost ez, hogy lehetséges? Természetesen úgy, hogy ha csak egyszer futatjuk le a main() függvényben szereplő parancsokat. Ezt a legkönnyebben úgy lehet elérni, hogy a main() függvényt, visszatérési értékkel rendelkező függvényként definiáljuk.
"int main()" = visszatérési értékkel rendelkező függvény.
"void main()" = nem rendelkezik visszatérési értékkel.
Természetesen az "int" helyett más típusú, pl. char, stb... is lehet a függvényünk. A "return 0;" utasításban a visszatérési érték "0", tehát hamis, ezért többször nem fut le a program.
Még egy példa erre, az i2c_g2xx2.c állományban, a "i2c_read_byte" függvény, ahol a visszatérési érték, az eszközről beolvasott értéknek felel meg.

Remélem jól írtam mindent!
(#) gyengus válasza szitko hozzászólására (») Jún 2, 2012 /
 
Köszönöm a választ!
(#) szitko válasza gyengus hozzászólására (») Jún 2, 2012 /
 
Szívesen. Bár csak nagyvonalakban írtam a függvényekről.

Más! Ha valakit érdekel, a Proteus ISIS 7.10-es veziójába bekerült az MSP430g2xxx. Igaz csak egy alap típus. Viszont arra, hogy hogyan lehet szimulálni, még nem jöttem rá, mert C forráskódot nem tudok elfogattatni vele. Ha előrébb jutok vele, megírom.
(#) gyengus válasza szitko hozzászólására (») Jún 2, 2012 /
 
A függvényeket értem. Csak azt nem tudtam, hogy ezek a mikrovezérlők leállnak, ha hamissal tér vissza a main().
Úgy tudom a PICek nem állnak le.
(#) gyengus hozzászólása Jún 2, 2012 /
 
Elkezdett érdekelni a kapacitív érintőpanel.
Vettem is egy Capacitive Booster Pack-ot.
A demo firmwaret szeretném CCS-be importálni. Itt elakadtam, ugyanis nem találja meg a projektet a CCS könyvtárba.
Ez van a readmeben az importálásról:
Idézet:
„1. Project Import in CCS
a. Open CCS.
b. Select a new project workspace outside of the project folder*
c. Select Project-->Import Existing Project
d. Browse to the [PROJECT_ROOT]\CCS folder
e. Select Finish

*Ideally, workspace should be in completely independent folder, not
containing or contained by the project/package folder.

!Note: For CCS, while project root is in the outer directory, the CCS
project files are located inside CCS. To enable the portability of
the project, the file macros.ini is created to define the root.
Additionally, all project code files (*.c, *.h) are added as linked
resources with their relative path to the project root.”

A meglévő workspacembe szerettem volna beimportálni a projektet.
(#) gyengus válasza gyengus hozzászólására (») Jún 2, 2012 /
 
Addig eljutottam, hogy beimportálja.
Ellenben hiába pipálom be, hogy másolja át a fájlokat, a forrás fájlokat nem teszi át a workspace könyvtárába.
Bal oldalt látom ugyan a fájlokat, szerkeszteni is tudom őket. Csak zavaró, hogy máshol vannak, így nehezebb mentést csinálni róluk.
Hogyan tudom megszüntetni ezt a linkelést?
(#) kissi válasza gyengus hozzászólására (») Jún 2, 2012 /
 
Szia!

Nem használom, de szerintem itt sem állnak le...! Szerintem nincs értelme, hogy megálljon, mert akkor nem tudna csinálni semmit, akkor meg minek legyen bekapcsolva ( --> sleep!). A mikrovezérlőt leállítani csak az órajel megállításával tudod, egyébként max. végtelen ciklust képes végezni!

Steve
(#) gyengus válasza gyengus hozzászólására (») Jún 2, 2012 /
 
Töröltem a linkeket és átmásoltam kézzel a fálokat. Egy include-nál kellett módosítanom az elérési utat, hogy leforduljon.
Következő: »»   58 / 139
Bejelentkezés

Belépés

Hirdetés
XDT.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