HobbyCNC fórum
FTP tárhely: http://cnctar.hobbycnc.hu v0.9.6 Régi HobbyCNC oldal: http://archiv.hobbycnc.hu

Új regisztráció / Átregisztráció a régi fórumról
    
   


Segítség, béna vagyok!!!

Általános, gyors, sürgős kérdések.

 

Időrend:
Oldal 601 / 1053 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   597  598  599  600  601  602  603  604  605   Következő ►  Utolsó ►|

  Fórum főoldal  |  A lap aljára

Rasiel | 502    2014-05-22 04:11:00 [22660]

Köszi az értelmezést. Egy utasításnyi assemblyt sem értek.

Előzmény: v.l, 2014-05-22 04:06:00 [22658]


v.l | 104    2014-05-22 04:09:00 [22659]

Alap, hogy ilyenkor meg kell kérni a fordítót, hogy legyen szíves assembly kimenetet generálni olvasható formában (hogy ezt az AVR-es fordítódnak hogyan kell megmondani, azt nem tudom), és abban szépen ki lehet bogarászni, hogy hol nem az a gépikód készül, amit mi szeretnénk. Sokszor ennyiből simán rá lehet jönni, hogy mit gondolunk mi vagy az fordító rosszul.

Előzmény: Rasiel, 2014-05-22 04:05:00 [22657]


v.l | 104    2014-05-22 04:06:00 [22658]

Az 1<<y az 1-et bitenként eltolja balra az y értékével. 1<<0 = 1, 1<<1 = 2, 1<<2 = 4, 1<<3 = 8, és így tovább.
Az x |= z ugyanazt csinálja, mint az x = x | z. Az x | z ugyanazt csinálja, mint Pascalban az "x or z" (bitenkénti VAGY kapcsolat).

Azaz az x|=1<<y az "x" nevű változóban az "y". bitet 1-be állítja.


Rasiel | 502    2014-05-22 04:05:00 [22657]

#include <avr/io.h>
#include <util/sbit.h>

#define LED SBIT(PORTA,0)

int main ()
{
DDRA= 0xFF;
DDRB= 0x00;
while (1)
{
LED=1;
}
}

Lefordítható, égethető és totálisan semmit nem csinál.


Rasiel | 502    2014-05-22 04:03:00 [22656]

((x)|=(1<<(y))) ez mit takar?

Egyébként ha az SBIT-et használom nem enged semmit mögé írni. Viszont működni sem működik. Idegesítő hogy ilyen alap dolgok is hiányoznak mint a portok individuális kezelése.

Előzmény: v.l, 2014-05-22 04:00:00 [22655]

v.l | 104    2014-05-22 04:00:00 [22655]

Mit szeretnél tudni pontosan?

Előzmény: Rasiel, 2014-05-22 03:52:00 [22654]


Rasiel | 502    2014-05-22 03:52:00 [22654]

És mit jelent a zárójelben lévő rész?

Előzmény: v.l, 2014-05-22 03:50:00 [22653]


v.l | 104    2014-05-22 03:50:00 [22653]

Egy apró megjegyzés: ha makrót definiáltok, akkor az összes makróparamétert a makró tartalmában tegyétek zárójelbe. Így:
#define SETBIT(x,y) ((x)|=(1<<(y)))

Ellenkező esetben a makró behelyettesítésénél ha olyan kifejezést használtok, amiben a makrón belül használt operátorhoz képest gyengébb precedenciájú operátor van, akkor nem a várt módon fog viselkedni a program, és ez tipikusan egy olyan hiba, amit rettentő nehéz megtalálni. Ezért jobb, ha az ember így szokja meg a makrók definiálását.

Előzmény: elektron, 2014-05-21 23:42:00 [22645]


Rasiel | 502    2014-05-22 03:09:00 [22652]

Egyébként hiába definiálok ki/bemeneti lábat SBIT-el....a fordító lefordítja ugyan, csak a hardware nem csinál semmit vele. :/

Előzmény: elektron, 2014-05-21 23:57:00 [22650]


Rasiel | 502    2014-05-21 23:58:00 [22651]

Úgy más persze, csak én a Pascalt 12 évesen kezdtem el, és annak már 15 éve Idővel persze ha haladok vele átállok teljesen. Sajna a jó öreg Pascalnak nem nagyon van jövője.

Előzmény: elektron, 2014-05-21 23:57:00 [22650]


elektron | 15859    2014-05-21 23:57:00 [22650]

Én ezt C-ben kezdtem, amellett már nem kellett pascalozni.

Előzmény: Rasiel, 2014-05-21 23:53:00 [22649]


Rasiel | 502    2014-05-21 23:53:00 [22649]

Kényszerből csinálom egyébként, mert a "mikropascal" fejlesztőkörnyezetben több a bug mint a használható elem. A C meg az Atmel "sajátja" a kezdetek kezdetétől...

Előzmény: elektron, 2014-05-21 23:51:00 [22648]


elektron | 15859    2014-05-21 23:51:00 [22648]

Majd tisztulni fog az, érdemes szerintem, mert rengeteg kód van amiből lehet tanulni, meg használni is.

Előzmény: Rasiel, 2014-05-21 23:43:00 [22647]


Rasiel | 502    2014-05-21 23:43:00 [22647]

Hála tényleg érte. Ez a C nyelv nekem egy nagy katyvasz. Pedig megítélésem szerint egész jó Pascalos vagyok....

Előzmény: elektron, 2014-05-21 23:42:00 [22646]


elektron | 15859    2014-05-21 23:42:00 [22646]

Na, végre valami összejött nekem is ma akkor.

Előzmény: Rasiel, 2014-05-21 23:41:00 [22644]

elektron | 15859    2014-05-21 23:42:00 [22645]

Vagy ilyenekkel is lehet bitet manipulálni pl.:

#define SETBIT(x,y) (x|=(1<<y)) //set bit y in byte x
#define CLRBIT(x,y) (x&=(~(1<<y))) //clear bit y in byte x


Rasiel | 502    2014-05-21 23:41:00 [22644]

Mukodik! Köszönöm!

Előzmény: elektron, 2014-05-21 23:35:00 [22643]


elektron | 15859    2014-05-21 23:35:00 [22643]

Ezt másold a programod elejére pl. vagy itt a file linkje:

sbit.h

Előzmény: elektron, 2014-05-21 23:34:00 [22642]


elektron | 15859    2014-05-21 23:34:00 [22642]

ez definiálja azt az SBIT( ... cuccot:

#include <avr\io.h>

// Access bits like variables:
struct bits {
uint8_t b0:1;
uint8_t b1:1;
uint8_t b2:1;
uint8_t b3:1;
uint8_t b4:1;
uint8_t b5:1;
uint8_t b6:1;
uint8_t b7:1;
} __attribute__((__packed__));

#define SBIT_(port,pin) ((*(volatile struct bits*)&port).b##pin)
#define SBIT(x,y) SBIT_(x,y)


Előzmény: Rasiel, 2014-05-21 23:31:00 [22640]


Rasiel | 502    2014-05-21 23:33:00 [22641]

de ha kiszedem azt a sort ahol értéket akarok adni az sbit-el definiált kimenetnek, akkor lefordul rendesen.

Előzmény: Rasiel, 2014-05-21 23:31:00 [22640]


Rasiel | 502    2014-05-21 23:31:00 [22640]

nincs. nincs olyanom hogy sbit.h

Előzmény: elektron, 2014-05-21 23:28:00 [22639]


elektron | 15859    2014-05-21 23:28:00 [22639]

Ott az include-ok közt van sbit.h ?


Rasiel | 502    2014-05-21 23:16:00 [22638]

Hiba

Kiszedtem mindent ami nem kell.

Előzmény: elektron, 2014-05-21 23:10:00 [22637]


elektron | 15859    2014-05-21 23:10:00 [22637]


Így kell bitet definiálni pl.

#define LED SBIT(PORTA, 0)

Az a kettőspont nem kell oda.


Rasiel | 502    2014-05-21 23:03:00 [22636]

Átírtam az összehasonlítást"==" re az értékadást pedig "=" re. Kitöröltem azt hogy "PORTA,1 ==0;"
most a hibaüzenet ez: Hiba

Előzmény: elektron, 2014-05-21 22:57:00 [22634]

elektron | 15859    2014-05-21 22:59:00 [22635]

Épp programot írok most, szerencséd van.


elektron | 15859    2014-05-21 22:57:00 [22634]

Pascalos berögződés miatt ez még elő fog fordulni később is, ismerős jelenség.


elektron | 15859    2014-05-21 22:56:00 [22633]

Abban lehet sok hiba akkor úgy látom ...


elektron | 15859    2014-05-21 22:56:00 [22632]

És az if nél meg dupla egyenlőség jel kell, az jelenti a vizsgálatot !!!


elektron | 15859    2014-05-21 22:55:00 [22631]

Ja várjál már, nem dupla egyenlőség jel kell ott ezek értékadások lennének gondolom, na mi szarvashiba.


Rasiel | 502    2014-05-21 22:51:00 [22630]

a PortA,1 ==0; sort megeszi. Ha kitörlöm ugyan ez a hiba mint itt

Előzmény: elektron, 2014-05-21 22:47:00 [22629]


elektron | 15859    2014-05-21 22:47:00 [22629]

PPO_X_Step=0;nem az akarna ott lenni ?


elektron | 15859    2014-05-21 22:46:00 [22628]

Az előtte levő sorban PORTA,1 ==0; az nem jó, az mi akarna lenni ? Azzal van a baj.

Előzmény: Rasiel, 2014-05-21 22:42:00 [22627]


Rasiel | 502    2014-05-21 22:42:00 [22627]

Nálam itt dobta le az agyam a szíjat.... miért nem megy ez? Van ötleted?
Kép a hibáról

Előzmény: elektron, 2014-05-21 21:21:00 [22625]


elektron | 15859    2014-05-21 21:23:00 [22626]

Milyen kódot fúrásra vagy gravírra ? Van ulp-je közt pcbgcode.ulp, meg FastCode.ulp ezekkel lehet generálni gravírt, meg fúrást is, fúrásra meg Excellont csinál, azt meg pl a z Excellon Gcode Converter nevű programmal át lehet g kóddá alakítani.

Előzmény: almacsutka, 2014-05-21 20:46:00 [22624]

elektron | 15859    2014-05-21 21:21:00 [22625]

Netről olvasgattam csak googlozva annak idején, most is ha kell valami rákeresek, kicsit én is kínlódtam az elején, hogy összeálljon a kép annyira, hogy használható legyen.

Előzmény: Rasiel, 2014-05-20 22:08:00 [22623]


almacsutka | 426    2014-05-21 20:46:00 [22624]

Eagle-bol szeretnek mach3-as kodot generalni, tudnatok ajanlani valami jo programot?
Koszonom


Rasiel | 502    2014-05-20 22:08:00 [22623]

leírásod nincs hozzá ? :D tudod egy pászkálosnak szenvedés a céé.

Előzmény: elektron, 2014-05-20 22:02:00 [22622]


elektron | 15859    2014-05-20 22:02:00 [22622]

Azért, mert abban elég sok minden meg volt írva készen, amikor pár éve elkezdtem foglalkozni és is a C vel mikro környezetben, és úgy maradtam vele jó viszonyban jelenleg is. AVR Stúdiót is használtam párszor Attiny2313-mal meg mega8 168-cal .

Előzmény: Rasiel, 2014-05-20 22:00:00 [22621]


Rasiel | 502    2014-05-20 22:00:00 [22621]

Áh Duino. értem.

Előzmény: elektron, 2014-05-20 21:32:00 [22618]


Rasiel | 502    2014-05-20 21:52:00 [22620]

Optoved Kft. Ott tanultam én is

Előzmény: Servo, 2014-05-20 21:35:00 [22619]


Servo | 860    2014-05-20 21:35:00 [22619]

Sziasztok!
Tudnátok segíteni PLC programozással kapcsolatban?
Tudnátok ajánlani, sulit Budapesten?


elektron | 15859    2014-05-20 21:32:00 [22618]

Atmega168-at általában ARDUINO környezetben.


Rasiel | 502    2014-05-20 21:07:00 [22617]

akkor mit?

Előzmény: elektron, 2014-05-20 20:49:00 [22615]


Szedlay Pál | 1903    2014-05-20 21:01:00 [22616]

Én kértem ajánlatot és egy profi kerékre több mint 30.000 ft-os ajánlatot kaptam.

Előzmény: Szalai György, 2014-05-20 18:01:00 [22608]

elektron | 15859    2014-05-20 20:49:00 [22615]

Jó is az, nekem is van egy mega32-m, azt hiszem, de nem használtam olyat sose, csak megmaradt valahogy.

Előzmény: Rasiel, 2014-05-20 20:47:00 [22614]


Rasiel | 502    2014-05-20 20:47:00 [22614]

Épp van az asztalon egy Atmega 32, és egy atmega 644PU. Ez kerül majd a végálláskapcsolós projectbe.

Előzmény: elektron, 2014-05-20 20:24:00 [22613]


elektron | 15859    2014-05-20 20:24:00 [22613]

Miféle processzorral akarsz nyomulni ?

Előzmény: Rasiel, 2014-05-20 18:49:00 [22609]


elektron | 15859    2014-05-20 20:24:00 [22612]

Jó is az.

Előzmény: Rasiel, 2014-05-20 18:49:00 [22609]


keri | 14085    2014-05-20 20:21:00 [22611]

Már meg is csináltam a fogaskerék maró varázslót MACH3 alá. Bár egyenlőre csak egyenes fogazást tud, meg még van benne egy két hiba, de ha kijavítom akkor a ferde fogazást is meg tudom oldani már.

Előzmény: keri, 2014-05-20 20:17:00 [22610]


  Fórum főoldal  |  A lap tetejére

Időrend:
Oldal 601 / 1053 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   597  598  599  600  601  602  603  604  605   Következő ►  Utolsó ►|


 ◊ 
[ 1.9450 ]