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   139 / 139
(#) Bakman válasza szitko hozzászólására (») Dec 17, 2022 /
 
Fogsz négy változót és azok értékeit módosítod igény szerint. Akkor küldöd ki az írási parancsot, amikor valamelyik IC-ben változtatni akarsz valamit. Ha egyszerre két számjegy változik, akkor két változót változtatsz meg és azután küldöd ki az írási parancsot.
(#) szitko hozzászólása Dec 30, 2022 /
 
Sziasztok.

Ha egy if feltétel kapcsos zárójele után ; van, az mit jelent és miért kell oda?
  1. if(...){
  2. ..
  3. ..
  4. }; <--???
(#) moltam válasza szitko hozzászólására (») Dec 30, 2022 /
 
Semmit és nem kell oda, de szerintem bajt sem csinál ha lefordul, bár lehet utána egy ehhez az if hez tartozó else vagy elseif nem működne.
(#) Bakman válasza szitko hozzászólására (») Dec 30, 2022 /
 
Nem kell oda. A kapcsos zárójel már egyértelműen jelzi a fordítónak, hogy addig tart az összetett utasítás.
(#) szitko válasza Bakman hozzászólására (») Dec 30, 2022 /
 
Én is így "tanultam", de a Texas-nál így írták a példaprogit és nem tudtam mire vélni.
  1. #pragma vector = USCIAB0TX_VECTOR
  2. __interrupt void USCIAB0TX_ISR(void)
  3. {
  4.   if (IFG2 & UCB0RXIFG)
  5.   {
  6.     if (byteCtr == 0)
  7.     {
  8.       UCB0CTL1 |= UCTXSTP;             // I2C stop condition
  9.       *TI_receive_field = UCB0RXBUF;
  10.       TI_receive_field++;
  11.     } else
  12.     {
  13.       *TI_receive_field = UCB0RXBUF;
  14.       TI_receive_field++;
  15.       byteCtr--;
  16.     };
  17.   };
  18.   if (IFG2 & UCB0TXIFG)
  19.   {
  20.     if (byteCtr == 0)
  21.     {
  22.       UCB0CTL1 |= UCTXSTP;            // I2C stop condition
  23.       IFG2 &= ~UCB0TXIFG;             // Clear USCI_B0 TX int flag
  24.     } else
  25.     {
  26.       UCB0TXBUF = *TI_transmit_field;
  27.       TI_transmit_field++;
  28.       byteCtr--;
  29.     };                    <---?
  30.   };
  31. }
(#) moltam válasza szitko hozzászólására (») Dec 30, 2022 /
 
If-else kettősöket zár le vele úgy nézem a jobb olvashatóság érdekében, gondolom.
A hozzászólás módosítva: Dec 30, 2022
(#) superuser válasza szitko hozzászólására (») Dec 30, 2022 /
 
Ha ez C akkor szimplán ocsmány.
(#) zamatőr hozzászólása Szo, 8:17 /
 
Üdv!
Egy óra vezérlő MSP430G2211 három hét folyamatos másodperc pontos működése "elromlott". Egy óra alatt több mint 15 mp-et siet. A pontosság beállításában "segít" a duó led . Pirosan villog ha lassú az inga és zölden ha gyors menet közben is korrigálja magát akkor a led-ek nem jeleznek csak ha tartós az eltérés. Kvarcot cseréltem de nincs változás. Mi lehet a hiba , sérülhetett a program ?
Az elektronikáról itt olvasható a működés..
Bővebben: Link
Köszönöm.
A hozzászólás módosítva: Szo, 8:22

MSP430.JPG
    
(#) Bakman válasza zamatőr hozzászólására (») Szo, 11:41 /
 
az eredeti kapcsolásban BAT43-as dióda szerepel, ami schottky, az 1N4148 pedig normál Si dióda. Valószínűleg nem ez okozza a gondot de az szinte biztos, hogy a visszacsatolásban kell keresni a problémát. 1 µF-os kondenzátor és attól jobbra lévő alkatrészek.

Nem ismerem az MSP mikrovezérlőket de kb. kizárt, hogy a program megváltozzon. Az 1N4148-as dióda több feszültséget enged a kontroller felé. A 100 kΩ-os ellenállás elvileg megakadályozza, hogy nagy baj történjen de nem tudom, mi van az IC tokján belül, hogyan viselkedik egy kicsit magasabb fordított feszültség esetén.
(#) zamatőr válasza Bakman hozzászólására (») Szo, 13:19 /
 
BAT43 van beforrasztva
Következő: »»   139 / 139
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