C programozás - miért jó?
C programozás - miért jó?
Lehet nem a legalkalmasabb helyre írok.
Szóval az én programozási ismeretem kimerül a BASCOM és egy másik basic , a PIC-hez írt Proton fordítóval.
Állítólag ezekkel nem sokra megyek nem hobbi hanem munka szempontjából.
Állítólag a C nyelv a menő, csak azt nem tudom miért.
PLC-t is jó lenne programozni megtanulni.
Szóval az én programozási ismeretem kimerül a BASCOM és egy másik basic , a PIC-hez írt Proton fordítóval.
Állítólag ezekkel nem sokra megyek nem hobbi hanem munka szempontjából.
Állítólag a C nyelv a menő, csak azt nem tudom miért.
PLC-t is jó lenne programozni megtanulni.
Igen. Csak sem a PLC, sem a C nem ennek az oldalnak a témája:)
Hogy miért:
- PLC - programozott logika - teljesem más szakterület...
- C nyelv: kezdőként csak kudarc. A processzor belét, a HW-t és a SW-t is meg kell tanulni _egyszerre_. A Bascom legalább a processzor belét leveszi a válladról. Hobbi szinten _sokkal_ gyorsabban lehet fejleszteni vele. Valamint a C nyelv _előzetes_ ismerete sem hátrány. Valamint C-hez a függvénykönyvtárakat vadászd össze, alkalmazd (SD kezelés, LCD, I2C stb). Bascom alatt minden _kész_. Ha mindenáron C, akkor az arduino az első lépés a maga korlátaival.
Az hogy tudsz Bascomul - túlzás. Ugyanúgy ahol angolul sem tud az ember. Tanulja és egyre jobban beszéli a nyelvet. Ahogy a magyar nyelvvel is vagyok. Ok, lassan már ismerem. De nyelvész nem leszek .
Mit értesz munka alatt?
Cégnél fejlesztesz? - akkor meg kell tanulni a C-t rutin szinten (1-3 év). És utána a mikrokontrollerre is (újabb 1 év).
C menőség oka: Ugyanaz a program _bármilyen_ processzoron fut: ix86, AVR, Hitachi HC.... Azaz elég 1x megírni és utána univerzálisan sokfele használható....
Hogy miért:
- PLC - programozott logika - teljesem más szakterület...
- C nyelv: kezdőként csak kudarc. A processzor belét, a HW-t és a SW-t is meg kell tanulni _egyszerre_. A Bascom legalább a processzor belét leveszi a válladról. Hobbi szinten _sokkal_ gyorsabban lehet fejleszteni vele. Valamint a C nyelv _előzetes_ ismerete sem hátrány. Valamint C-hez a függvénykönyvtárakat vadászd össze, alkalmazd (SD kezelés, LCD, I2C stb). Bascom alatt minden _kész_. Ha mindenáron C, akkor az arduino az első lépés a maga korlátaival.
Az hogy tudsz Bascomul - túlzás. Ugyanúgy ahol angolul sem tud az ember. Tanulja és egyre jobban beszéli a nyelvet. Ahogy a magyar nyelvvel is vagyok. Ok, lassan már ismerem. De nyelvész nem leszek .
Mit értesz munka alatt?
Cégnél fejlesztesz? - akkor meg kell tanulni a C-t rutin szinten (1-3 év). És utána a mikrokontrollerre is (újabb 1 év).
C menőség oka: Ugyanaz a program _bármilyen_ processzoron fut: ix86, AVR, Hitachi HC.... Azaz elég 1x megírni és utána univerzálisan sokfele használható....
Sikerült C ben az avr stúdióban megírnom az első led villogtató meg egy gombot beolvasó programot, sikerült de még én sem értem teljesen.
Hát szerintem aki a C-t kitalálta az egy nagy idióta, még nagyobb aki elterjesztette, azokat meg sajnálom akikre rá van kényszerítve.
Fogalmam sincs hogy lehet vele komoly programokat írni, a bascomban ha kellett csak leakasztom a szögről mondjuk a sinushyperbolikus nem tom milyen függvényt, de ennél hogy?
De lehet ha a '80-as évek "komondor64" korszaka C lett volna akkor nem így vélekednék.
Hát szerintem aki a C-t kitalálta az egy nagy idióta, még nagyobb aki elterjesztette, azokat meg sajnálom akikre rá van kényszerítve.
Fogalmam sincs hogy lehet vele komoly programokat írni, a bascomban ha kellett csak leakasztom a szögről mondjuk a sinushyperbolikus nem tom milyen függvényt, de ennél hogy?
De lehet ha a '80-as évek "komondor64" korszaka C lett volna akkor nem így vélekednék.
Jó is ez.
Néha kiereszteni a gőzt.
Kicsit szüleimre emlékeztet a sztori.
Anno mikor C64-en megnyomtam egy gombot és egy 220-as izzó felvillant......
Egy hónapi melónk volt benne haverral. Erre azt mondták hogy ezért kár volt ennyit küzdenem ezt a villanykapcsoló is tudja.
És igazuk volt.
Ha csak ez a feladat, elég egy kapcsoló.
Néha kiereszteni a gőzt.
Kicsit szüleimre emlékeztet a sztori.
Anno mikor C64-en megnyomtam egy gombot és egy 220-as izzó felvillant......
Egy hónapi melónk volt benne haverral. Erre azt mondták hogy ezért kár volt ennyit küzdenem ezt a villanykapcsoló is tudja.
És igazuk volt.
Ha csak ez a feladat, elég egy kapcsoló.
Ne haragudj, Gpeti, de butaságokat beszélsz.GPeti írta:Sikerült C ben az avr stúdióban megírnom az első led villogtató meg egy gombot beolvasó programot, sikerült de még én sem értem teljesen.
Hát szerintem aki a C-t kitalálta az egy nagy idióta, még nagyobb aki elterjesztette, azokat meg sajnálom akikre rá van kényszerítve.
Fogalmam sincs hogy lehet vele komoly programokat írni, a bascomban ha kellett csak leakasztom a szögről mondjuk a sinushyperbolikus nem tom milyen függvényt, de ennél hogy?
De lehet ha a '80-as évek "komondor64" korszaka C lett volna akkor nem így vélekednék.
A Bascom tényleg egy nagyon klassz program, és sok dolgot könnyet meg lehet írni vele. De az igazán profi dolgok C-ben íródnak.
Csak egy apró példa a C nyelv szépségére: futófény 1 sorban:
- PORTB = (PORTB & 0x80) ? 1 : PORTB<<1;
Tényleg jó, mindenhol ezt hallom. Bár ha valaki egyszer el tudja magyarázni ezt az egy sort akkor kezdeném érteni.
C-ben nem kellett változót bevezetni.
Bascom 417 byte kellett, míg C-ben csak 95 byte(!!!) ugyanahhoz a futófényhez.
Ugyanez bascomban:
Dim A As Byte
Config Portb = Output
A = &H80
Do
Rotate A , Left , 1 : Portb = A 'futofeny egy sorban
Wait 1
Loop
End
C-ben a többi sor is:
#include <avr/io.h> // avr header file for IO ports
#include <avr/delay.h>
int main(void){
DDRB = 0xFF; // set PORTB for output
PORTB = 0xFF;
while(1){
PORTB = (PORTB & 0x80) ? 1 : PORTB<<1;
_delay_ms(1000);
}
return 1;
}
C-ben nem kellett változót bevezetni.
Bascom 417 byte kellett, míg C-ben csak 95 byte(!!!) ugyanahhoz a futófényhez.
Ugyanez bascomban:
Dim A As Byte
Config Portb = Output
A = &H80
Do
Rotate A , Left , 1 : Portb = A 'futofeny egy sorban
Wait 1
Loop
End
C-ben a többi sor is:
#include <avr/io.h> // avr header file for IO ports
#include <avr/delay.h>
int main(void){
DDRB = 0xFF; // set PORTB for output
PORTB = 0xFF;
while(1){
PORTB = (PORTB & 0x80) ? 1 : PORTB<<1;
_delay_ms(1000);
}
return 1;
}
A kérdéses sor tulajdonképp egy if then else utasítást valósít meg.GPeti írta:Tényleg jó, mindenhol ezt hallom. Bár ha valaki egyszer el tudja magyarázni ezt az egy sort akkor kezdeném érteni.
C-ben nem kellett változót bevezetni.
Bascom 417 byte kellett, míg C-ben csak 95 byte(!!!) ugyanahhoz a futófényhez.
Ugyanez bascomban:
Dim A As Byte
Config Portb = Output
A = &H80
Do
Rotate A , Left , 1 : Portb = A 'futofeny egy sorban
Wait 1
Loop
End
C-ben a többi sor is:
#include <avr/io.h> // avr header file for IO ports
#include <avr/delay.h>
int main(void){
DDRB = 0xFF; // set PORTB for output
PORTB = 0xFF;
while(1){
PORTB = (PORTB & 0x80) ? 1 : PORTB<<1;
_delay_ms(1000);
}
return 1;
}
Ha PORTB legnagyobb helyi értékű bitje 1, akkor a PORTB-be 1-et ír be, egyébként a PORTB tartalmát 1 bittel lépeti balra.
(A végtelen ciklus akkor működik jól, ha elötte PORTB-be 1-et másolunk FF helyett, így egy LED világít egyszerre, és a fénypont jobbról balra mozog)
Re: C programozás - miért jó?
Most én is annak a dilemmának tettem ki magam! Érdemes-e meg tanulni a c-t? Vagy az Arduinot? Igaz Arduino panelem nincs, valamire való program általában c-be található. Én mondjuk jobba szeretem a BASCOM-ot, mert felhasználó barát, és jobban, logikusabban átlátható, és otthonosabban is mozgok benne, a hiányosságaim ellenére is.! szvsz.
Ha váltani szeretnék, szerezzek egy Arduino xxx-et az alapok megtanulásához, és utána nyergeljek át a c-re, vagy szerintetek melyik az egyszerűbb megoldás? Letöltöttem és elindítottam az arduino-1.0.3 programot, de hardver nélkül, szerintem enélkül minden próbálkozás kudarc.
Cáfoljon meg valaki hogy nincs igazam, és én minden megoldásra nyitott vagyok!
Ha váltani szeretnék, szerezzek egy Arduino xxx-et az alapok megtanulásához, és utána nyergeljek át a c-re, vagy szerintetek melyik az egyszerűbb megoldás? Letöltöttem és elindítottam az arduino-1.0.3 programot, de hardver nélkül, szerintem enélkül minden próbálkozás kudarc.
Cáfoljon meg valaki hogy nincs igazam, és én minden megoldásra nyitott vagyok!
Re: C programozás - miért jó?
Windows vs Linux?
Pic vs AVR?
Na jó. Ami az én meglátásom:
1. Kezdőnek, alapokhoz, gyors eredményhez: Arduino
2. középhaladónak, eredményhez: Bascom
3, Hordozható kód, sokfeée használható tudás, ám sok szívás, és tanulás után van eredmény: C
C esetén a chip belsejét, a nyelvet és a HW környezetet is tanulni kell. Bascom és Arduino eldugja előled.
Kezdőként nem javaslom, a nyelv - elsőre megrettentő - bonyolultsága, komplexitása miatt. Mondjuk előny az ingyenessége és kváziszabvány léte.
Nálam a fő szempont:
- mennyi időm van
- mikorra kell a projekt
- mit akarok hosszútávon vele
Legfontosabb: Kapok e segítséget, ha elakadok, és tudok e önálló munkát végezni vele?
Pic vs AVR?
Na jó. Ami az én meglátásom:
1. Kezdőnek, alapokhoz, gyors eredményhez: Arduino
2. középhaladónak, eredményhez: Bascom
3, Hordozható kód, sokfeée használható tudás, ám sok szívás, és tanulás után van eredmény: C
C esetén a chip belsejét, a nyelvet és a HW környezetet is tanulni kell. Bascom és Arduino eldugja előled.
Kezdőként nem javaslom, a nyelv - elsőre megrettentő - bonyolultsága, komplexitása miatt. Mondjuk előny az ingyenessége és kváziszabvány léte.
Nálam a fő szempont:
- mennyi időm van
- mikorra kell a projekt
- mit akarok hosszútávon vele
Legfontosabb: Kapok e segítséget, ha elakadok, és tudok e önálló munkát végezni vele?
Re: C programozás - miért jó?
Tipp még:
Arduino HW és Arduino nyelv: az alapokat, logikáját a nyelvnek meglátod.
A HW előnye, hogy minden nyelven éleszthető, macerálható...
A Bascomnál én azt a hiányt látom, hogy kis cég fejleszti. És amit teljesen nem értek: Miért nem marketingezik jobban?
OK, itthon van 1-2 cég/oldal, aki ezt viszi. de meglesem az Arduino-t: a kritikus tömeg viszi előre. A C-t is.
A Bascomnál ez nincsen még eléggé meg.
Arduino HW és Arduino nyelv: az alapokat, logikáját a nyelvnek meglátod.
A HW előnye, hogy minden nyelven éleszthető, macerálható...
A Bascomnál én azt a hiányt látom, hogy kis cég fejleszti. És amit teljesen nem értek: Miért nem marketingezik jobban?
OK, itthon van 1-2 cég/oldal, aki ezt viszi. de meglesem az Arduino-t: a kritikus tömeg viszi előre. A C-t is.
A Bascomnál ez nincsen még eléggé meg.
Re: C programozás - miért jó?
A C hordozható nyelv. Arduino alá simán fordíthatsz Windows, Mac és Linux alól.
Ha pedig másik MCU típusra akarsz váltani, az is minimális erőfeszítéssel megoldható. Akkor is, ha AVR-ről ARM-ra váltasz.
A Bascom, ha jól tudom, például csak Windows alól megy.
A nyílt forrású projektek hatalmas előnye, hogy emberek tízezrei szórakoznak vele és az Arduino pontosan ilyen.
Róbert pl. beküldte a magyar fordítást nekik és azóta magyarul is tud.
A C egyébként a hordozható assembly, annyira közel áll hozzá. Max. 10% a sebességbeli különbség az assembly javára, amit bőven ellensúlyoz a hordozhatóság.
Olyan nyelven programozol, ahogy jólesik, de a C-nek rengeteg értékes tulajdonsága van.
Ha pedig másik MCU típusra akarsz váltani, az is minimális erőfeszítéssel megoldható. Akkor is, ha AVR-ről ARM-ra váltasz.
A Bascom, ha jól tudom, például csak Windows alól megy.
A nyílt forrású projektek hatalmas előnye, hogy emberek tízezrei szórakoznak vele és az Arduino pontosan ilyen.
Róbert pl. beküldte a magyar fordítást nekik és azóta magyarul is tud.
A C egyébként a hordozható assembly, annyira közel áll hozzá. Max. 10% a sebességbeli különbség az assembly javára, amit bőven ellensúlyoz a hordozhatóság.
Olyan nyelven programozol, ahogy jólesik, de a C-nek rengeteg értékes tulajdonsága van.