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   52 / 139
(#) colosseum válasza szitko hozzászólására (») Ápr 16, 2012 /
 
az okés hogy secondary(SEL2) de a sima SEL is az lenne. van olyan láb ahol meg még van harmadlagos meg negyedleges is nem csak első meg másodlagos

De puding próbája az evés

Majd én is jobban neki veselkedek
(#) colosseum válasza icserny hozzászólására (») Ápr 16, 2012 /
 
Értem akkor meglesem , ezt valahogy kihagytam eddig

Nem nagyon kellett. De köszön szépen.

Más:

Kicsit átalakított icserny lcd_vezérlőjét(utólagos engedelmeddel), így bármelyik lábra rá lehet kötni.

  1. /* LCD port és vezérlo" bitek megadása */
  2.    
  3.     #define LCD_RS          P2OUT_bit.P6
  4.     #define LCD_RS_DIR  P2DIR_bit.P6
  5.     #define LCD_E           P2OUT_bit.P7
  6.     #define LCD_E_DIR   P2DIR_bit.P7
  7.     #define LCD_7           P2OUT_bit.P3
  8.     #define LCD_6           P2OUT_bit.P4
  9.     #define LCD_5           P2OUT_bit.P5
  10.     #define LCD_4           P1OUT_bit.P7


egy plusz függvény
  1. void kiiratas(uint8_t abit){
  2.   LCD_7 = (abit&8)>>3;
  3.   LCD_6 = (abit&4)>>2;
  4.   LCD_5 = (abit&2)>>1;
  5.   LCD_4 = (abit&1);
  6.  
  7. }

És így néz ki az lcd write:

  1. void lcd_write(uint16_t val, uint8_t cmd) {
  2.              LCD_RS = cmd;
  3.              kiiratas((val&0xF0)>>4);
  4.          
  5.              lcd_toggle_E();
  6.              kiiratas((val&0x0F));
  7.          
  8.              lcd_toggle_E();
  9.              __delay_cycles(1000);
  10.     }


Értelem szerűen az lcd_initben kicseréltem mindent ami kellett. pl:
ChangeBits(LCD_PORT,0x30,LCD_MASK);--->kiiratas((0x30)>>4);

Így estére.
(#) Smithy87 hozzászólása Ápr 17, 2012 /
 
Hello!

A gyári demókkal kapcslatban van egy kérdésem. Win 7 alatt porgramozgatok msp-t és valamiért a gyári demó (hőmérős) nem működik a gépen. Úgy értem a pc-s programban nem is jön fel a lehetőség, hogy com portot válasszak. Lehetséges,h a hyperterminal hiánya miatt nem megy?
(#) szitko válasza Smithy87 hozzászólására (») Ápr 17, 2012 /
 
Idézet:
„Lehetséges,h a hyperterminal hiánya miatt nem megy?”

Nemhiszem.
Ha az Icserny féle programal próbálkozol, azzal nekem is bajom volt. Nálam a Win7 x64 van fenn, de csak a 32bites program működött.
(#) Smithy87 válasza szitko hozzászólására (») Ápr 17, 2012 /
 
se az Icsernyi féle sem a gyári progi nem ment még tegnap. Igaz a mikrovezérlőre letöltött progi sem ment. mármint a gyári hőmérős
(#) szitko válasza Smithy87 hozzászólására (») Ápr 17, 2012 /
 
Akkor ott valamit nagyon elrontottál. Ha a gyári demót visszateszed a g2231-be, akkor annak mennie kell.
(#) szitko hozzászólása Ápr 17, 2012 /
 
Megint nem találok, vagy nem értek valamit.
ADC konverziónál, két bemenetet szeretnék használni. 50-50 mintát szeretnék venni, amiből csak a 30-40 közötti értékek átlagát fogom felhsználni. Egy bemenetnél ez megy is, de kettőnél hova menti az adatokat?
  1. unsigned int adc_ert[50];
  2.     ADC10CTL1 = CONSEQ_3 + INCH_3;  // ismétlés több csatornán, analog bemenet A3,A5
  3.     ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE;  // ADC10ON, megszak. engedélyezése
  4.     ADC10DTC1 = 0x32;                     // 50 konverzió
  5.     ADC10AE0 |= 0x28;                     // P1.3, P1.5 ADC bement
  6. .
  7. .
  8. ADC10SA = (unsigned int) adc_ert;       // ADC adat

Az első 25 lenne az egyik(P1.3), és a második 25 a másik (P1.5) ?

Ja g2252.
(#) icserny válasza szitko hozzászólására (») Ápr 18, 2012 /
 
Nem foglalkoztam még vele, csak a Family UG-ban leírtakat próbálom értelmezni: Repeat-sequence-of-channels üzemmódban - az én értelmezésem szerint - a megadott csatornától visszafelé lépked A0-ig, tehát ha két csatornát akarsz használni, akkor az csak az A0 és A1 lehet.

A te beállításoddal A3, A2, A1, A0, A3, A2, A1, A0, A3 ..... lesz a konverziók sorrendje, s ez ebben a sorrendben kerül letárolásra is. (Úgy látom, hogy a DMA-nak megfelelő DTC csak a konverzió sorrendjében tud tárolni, s nincs scatter-gather üzemmódja, mint a PIC24 ADC+DMA-nak).
(#) szitko válasza icserny hozzászólására (») Ápr 18, 2012 /
 
Idézet:
„megadott csatornától visszafelé lépked A0-ig”

Akkor azért írt ki nekem minden hülyeséget, és az UART kommunikáció is azért bolondult meg. Ezekszerint, ha két AD bemenetet szeretnék használni, ily módon, akkor két külön beállítást kell eszközöljek, vagy az A0-A1-et használom, amivel elvesztem az UART hardveres perifériát. (remek)

Még egy kérdés! "Mi MSP-sek" nem kapunk, olyan kiválló ajándékot, mint a PIC24-sek? Gondolok itt a cikksorozatod 3. részére.
Amúgy meg kell jegyeznem, hogy beleolvastam a PIC24 húsvéti meglepetésbe, és csak gratulálni tudok, kiválló munka. ("alig tudtam abbahagyni az olvasást")
(#) icserny válasza szitko hozzászólására (») Ápr 18, 2012 /
 
Idézet:
„"Mi MSP-sek" nem kapunk, olyan kiváló ajándékot, mint a PIC24-sek?”
Hááát, talán jövő húsvétra...
(#) ZsoltiD hozzászólása Ápr 18, 2012 /
 
Ha a M430G2553 mikrovezérlőm egyik kimenetével 12 V.ot szeretnék "kapcsolni" mondjuk 2 A terhelhetőség mellett, akkor azt mivel tudnád megvalósítani? Ha jól láttam egy IRFZ44N-el nem tudom, mert ahhoz a 3.5 V a megfelelő nyitáshoz kevés.
(#) icserny válasza ZsoltiD hozzászólására (») Ápr 18, 2012 / 1
 
Keress olyat, amelyik kisebb VGS feszültségnél is kinyit! Talán a IRLR024N is jó lesz...
(#) ZsoltiD válasza icserny hozzászólására (») Ápr 18, 2012 /
 
Rendben, köszi
(#) Smithy87 hozzászólása Ápr 19, 2012 /
 
Hello!

Olyan gondom lenne, hogy még a gyári demót (hőmérős) nem tudtam tesztelni mert sem a 32 sem a 64 bites java környezetre írt pc oldali progi nem futott rendesen. Nem tudom lehet a köze a hyperterminalos kapcsolathiányához. Ugyan is win 7 ből kiszedték nekem pedig 64 bit win 7 ultimatem van. Fontos lenne mert a kódjukat már tanulmányoztam kellene a programomhoz soros kommunikáció. Valami megoldás lehetséges? Eszközkezelőben megjelenik az MPS de kapok egy ilyen hiba üzit : "A Windows nem tudja elindítani ezt a hardvereszközt, mert az eszköz konfigurációs információi (a beállításjegyzékben) nem teljesek vagy sérültek. (Kód: 19)"
Előre is köszi a segítséget
(#) icserny válasza Smithy87 hozzászólására (») Ápr 19, 2012 /
 
A Launchpad-hoz való meghajtó szoftver az IAR vagy CCS telepítésekor automatikusan települ. Ha mégsem múködik, akkor távolítsd el az eszköz meghajtóját, töltsd le a http://www.ti.com/litv/zip/slac490 csomagot, s ha kibontod, abban van - sok más egyéb mellett - a Launcpad_Driver mappában az eszközmeghajtó. Nekem még nem volt rá szükségem...

Előfordulhat az is egyébként, hogy valamilyen Bluetooth eszköztől hülyül meg a kapcsolat (a számítógépen a Windows időnként összekeveri az USB virtuális soros portokat valamelyik Bluetooth kommunikációs csatornával). Ilyenkor a Bluetooth eszköz (pl. mobiltelefon kapcsolat) Windowsból történő eltávolítása a megoldás.
(#) Smithy87 válasza icserny hozzászólására (») Ápr 19, 2012 /
 
Köszi a tippet és a linket a driver reinstall megoldotta, szépen működik legalább a gyári.
(#) DecebaL hozzászólása Ápr 23, 2012 /
 
Van egy kis gondom, nem tudom aktiválni a belső 2,5V referencia feszültséget az 1,5V belső referenciával nincs gond az működik rendesen.
ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + REF2_5V + ADC10ON + ADC10IE;
A fenti kóddal 2,9V referencia feszültség jön ki nálam.
Van valakinek valami ötlete? Proci típusa 2452
(#) DecebaL válasza DecebaL hozzászólására (») Ápr 23, 2012 /
 
Közben rájöttem, hogy mit bénáztam és az alábbi beállítással szépen teszi a dolgát.
ADC10CTL0 = SREF_1 + REFON + REF2_5V + ADC10SHT_3 + ADC10ON + ADC10IE;
(#) szitko válasza DecebaL hozzászólására (») Ápr 23, 2012 /
 
Tulajdonképpen, csak az ADC10SHTx változott, ami csak a mintavételezési idő. Nálam megy rendesen az alábbi kis progival:
  1. #include "io430.h"
  2. void delay(void);
  3.  
  4. void main(void)
  5. {
  6.   WDTCTL = WDTPW + WDTHOLD;      // WDT stipi stopi
  7.   ADC10CTL1 = CONSEQ_2;          // Egy csati
  8.   ADC10CTL0 = REFOUT + REFON + MSC + ADC10ON + ADC10SHT_2;
  9.   ADC10AE0 |= BIT4;          // P1.4 ADC
  10.   P1DIR |= BIT0;             // ledecske
  11.   P1OUT &=~BIT0;             // ledecske ki
  12.  
  13.   while(1){
  14.     ADC10CTL0 &= ~ENC;             // ADC10 ki
  15.     ADC10CTL0 |= REF2_5V;          // Vref 2.5V be
  16.     ADC10CTL0 |= ENC + ADC10SC;    // ADC10 enegély
  17.     delay();                       // várunk, várunk, de, hogy mire?
  18.     P1OUT ^= BIT0;                 // ledecske be or ki
  19.     ADC10CTL0 &= ~ENC + REF2_5V;   // ADC10 ki,Vref 1.5V be
  20.     ADC10CTL0 |= ENC + ADC10SC;    // ADC10 engedély
  21.     delay();                       // várunk, várunk, de, hogy mire?
  22.     P1OUT ^= BIT0;
  23.   }
  24. }
  25. void delay(void){
  26.   volatile unsigned long i;
  27.     for (i = 0x7FFFF; i > 0; i--);
  28. }

A P1.4-en váltogatja a Vref feszt. A minták között is láttam valami hasonlót. Amúgy a kimeneten 2.476V, és 1.811V van.
(#) DecebaL válasza szitko hozzászólására (») Ápr 23, 2012 /
 
A mintát én is megtaláltam de nálam nem akar lefutni helyesen.
Van egy másik gondom amit mostanában elég sokszor tapasztalok, hiába engedélyezem a felhúzó ellenállást nem kapcsol be, a parancs kiadása után mindig várok egy keveset, hogy legyen ideje felhúzni az ellenállásokat.
Mi a véleményed?
(#) szitko válasza DecebaL hozzászólására (») Ápr 23, 2012 /
 
Az őszintét megvalva, én nem használom a belső felhúzó ellenállásokat, így nincs is tapasztalatom ebben a kérdésben.
Eddig kétszer próbálkoztam velük, és mind a kétszer zsákutcába jutottam. Az egyik próba, egy nyomógomb volt, ami nem akart működni a belső felúzó ell.-al, de a külsővel simán ment. A másik az I2C kisérletemnél volt, ami szintén nem vált be. Mindegyik kísérlet a g2xx3-as sorozattal volt.
Azóta, úgy vagyok vele, hogy az a pár db. ellenállás elfér a nyákon, és nem zavar senkit.
(#) icserny válasza DecebaL hozzászólására (») Ápr 23, 2012 /
 
Idézet:
„hiába engedélyezem a felhúzó ellenállást nem kapcsol be”
Azt is beállítottad, hogy felhúzás legye, nem pedig lehúzás?
Idézet:
„a parancs kiadása után mindig várok egy keveset”
Nem keveset kell várni, hanem eleget. Hogy mennyit kell, az a külső kapacitásoktól is függ.
(#) DecebaL válasza icserny hozzászólására (») Ápr 23, 2012 /
 
  1. P1OUT = 0x0F;
  2. P1REN |= 0x0F;
  3. P1IE |= 0x0F;
  4. P1IES |= 0x0F;
  5. P1IFG &= 0x0F;
  6. __delay_cycles(1000);


Ha a várakozást 100x -ra növelem akkor sem történik semmi.
(#) Smithy87 hozzászólása Ápr 23, 2012 /
 
Sziasztok.

Az sorozat tagjaival, 2231/2452 LFXT1 segéd jelgenerátorról tudok e 40khz-et levenni? Tudom hogy ahhoz van a 32Khz-s crystal, de nekem konkrétan 40 kell. Vagy Dco-tól kezdjem el vissza osztogatni? Leírás alapján 50khzig működik az LFXT1 szóval elvileg ugye tudnom kell szerezni belőle. Az a gond,h sok órajell kell. Kellene legalább 8Mhz main kellene 40Khz amivel egy lábat billegtettek és kellene 9600 Uart-hoz.
(#) szitko válasza Smithy87 hozzászólására (») Ápr 23, 2012 /
 
Idézet:
„Kellene legalább 8Mhz main kellene 40Khz amivel egy lábat billegtettek és kellene 9600 Uart-hoz.”

Szerintem elég a DCO 8MHz-re állítva. (de lehet, hogy tévedek)
1: Beállítod a DCO-t 8MHz-re:
  1. BCSCTL1 = CALBC1_8MHZ;            // Kalibrált 8MHz
  2.   DCOCTL = CALDCO_8MHZ;

2: Beállítod a Timer-t felfele számolásra a 40kHz-hez:
  1. TACCR0 = 199;                          // PWM periódus
  2.     TACTL = TASSEL_2 + MC_1;      // órajel=SMCLK, felfele számolás
  3.     TACCTL1 = OUTMOD_7;
  4.     TACCR1 = 100;                 // CCR1 PWM kitöltés ??? 50%, ha ennyi kell!

3: Beállítod az UART sebességet: (pl ~9600)
  1. UCA0CTL1 |= UCSSEL_2;         // CLK = SMCLK
  2.   UCA0BR0 = 65;                       // 8MHz SMCLK / 833 = ~9600
  3.   UCA0BR1 = 3;                 // 65+3*256= 833

A Timer számmítása: 200/8000000 = 0,000025s = 40kHz.
(Az UART beállítás a g2xx3-ra értendő)

Remélem jól számoltam.
(#) colosseum válasza DecebaL hozzászólására (») Ápr 24, 2012 /
 
Halli!

Nemtudom mit szeretnél vele csinálni de:
PzDIR |= BITx + BITy;
PzREN |= BITx + BITy;
PzIE |= BITx + BITy;
PzIES |= BITx + BITy;
PzIFG &= ~BITx + ~BITy;

(ahol z a port)
ennek így mennie kell. +
P1IE - //ha ezt engedélyzed akkor ugye megszakítás vektort fog hívni persze ehhez engedélyezni kell az __enable_interrupt(); -t

ha pedig a gombot akarod vizsgálni h nyomva van e akkor while(!(PzIN & BITx))
{
...... kód
}
(#) szitko válasza icserny hozzászólására (») Ápr 24, 2012 /
 
Idézet:
„Nem keveset kell várni, hanem eleget. Hogy mennyit kell, az a külső kapacitásoktól is függ.”

Ha beleszólhatok, és kérdezhetek.
Azt értem, hogy a külső kapacítástól is függ a várakozás, de mire kell várni? Ha valahova berakok egy ellenállást, ott nem kell várni semmire, az rögtön csinálja a dolgát. Vagy tévedek?
Számomra a baj, megint ott kezdődik, hogy az adatlapban csak annyit találtam róla, hogy 20-50 kohm közötti értéke van, és a FUG is csak azt ítrja, hogy van ilyen is a vezérlőkben. (röviden és tömören)
A "gyár" mintapédák között található kis programot (msp430g2xx2_P1_03.c) sem tudtam működésre bírni, pedig csak egy gombot tettem a P1.4-re, ell. nélkül, de megzavarodott, és össze-vissza kapcsolgatta a ledet. Ha tettem rá külsö ell.-t akkor tette a dolgát.
(#) Smithy87 hozzászólása Ápr 24, 2012 /
 
Nem kapcsolódik szorosan a programozáshoz,de. Rendeltem április19-én egy új pad-et. A gondom az hogy a texas oldalán követve a sorsát elvileg kiszállították. Gyakorlatilag viszont nem kaptam meg. A DHL Global Forwardin-t jelölte meg szállítónak a texax. Felhívtam őket de ez a divízió elvileg csak cégeknek szállít. Tudna e segíteni valaki, hogy hogy találhatnám meg a csomagom?
(#) colosseum válasza Smithy87 hozzászólására (») Ápr 24, 2012 /
 
1. Irj a DHLnek.
2. Ha nem magadhot otthonra rendelted akkor kérdezd meg hátha valaki joakaró szórakozik.
3. Irj a Ti-nak.

Én ezeket tenném.
(#) icserny válasza szitko hozzászólására (») Ápr 24, 2012 /
 
Idézet:
„Azt értem, hogy a külső kapacítástól is függ a várakozás, de mire kell várni?”
A kondenzátor/szórt kapacitás feltöltődésére. Külső ellenállás esetében ez javában megtörténik, mire a mikrovezérlő elindul, de ha a program kapcsolja be a belső felhúzást, akkor onnan kezdve számít az RC időállandóból számítható idő.
Következő: »»   52 / 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