[ nikola1258 @ 12.04.2012. 18:31 ] @
Pozdrav svima poceo sam da ucim c i ide mi dali neko moze da mi okaci primer brojaca od 0-255 znaci kako naprimer nepoznatu x kad se stisne taster da uvecam za zadate constante ili promenljive.Dali se uopste tako pravi brojac.
[ bogdan.kecman @ 12.04.2012. 19:01 ] @
imas petlju koja broji: http://cprogramminglanguage.net/c-for-loop-statement.aspx

Code:

 unsigned char i;
 for(i = 0; i < 255; i++){
  //ovde sada radis nesto sa varijablom i
  //ona ima vrednost od 0 do 254
 }


ako hoces da se vrtis u nekoj petlji i povecavas vrednost varijable kada se nesto desi onda moze:
uslov proveravas sa if(): http://cprogramminglanguage.net/c-if-statement.aspx
Code:

unsigned char i;
i = 0; //inicijalna vrednost
while(i<150){ //dakle vrti se u petlji dok je i < 150, kada i bude vece ili jednako od 150 izadji iz petlje
  if (PORTA.F5 == 1) i++; //ako je A5 1 povecaj i za jeda
}
// sada je i 150



pgoledaj: http://cprogramminglanguage.net/c-control-flow.aspx
[ nikola1258 @ 12.04.2012. 19:17 ] @
Aha samo zasto je promenljiva definisana kao char?ustvari to je verovatno neki simbol,gde mogu naci sta koji simbol znaci.I gde mogu naci kako da podesim mplab nemogu da ga skontam kako da kucam i com pailiram.Hvala ti Bogdane dosta mi pomazes.

[Ovu poruku je menjao nikola1258 dana 12.04.2012. u 20:44 GMT+1]
[ nikola1258 @ 12.04.2012. 19:24 ] @
Jos jedno pitanjce dali proracuni zauzimaju dosta mesta u mcu,hocu nesto da uradim sto iziskuje dosta racunanja umanjivanja,uvelicavanja promenljive
[ ZAS011 @ 12.04.2012. 20:03 ] @
Sve sto napises zauzima mesto u uC. Sve zavisi sta podrazumevas pod "dosta mesta"
[ nikola1258 @ 12.04.2012. 21:10 ] @
Primer kolko zauzima jedna promenljiva sa petljom,dali manje zauzima pihanje 100000000;01000000 ili da se napravi proracun koji bi to menjao znaci kolko jedna petlja zauzima?kolko kod moze biti velik pocetnik sam zanima me kako doci do neceg koji je put bolje,kolko kod moze biti velik,kako se moze izracunati dali ce sve stati...I dali mozete da mi objasnie kako se radi sa mbpl-om

[Ovu poruku je menjao nikola1258 dana 12.04.2012. u 22:30 GMT+1]
[ bogdan.kecman @ 12.04.2012. 22:05 ] @
unsigned char je tip koji definise varijablu koja uzima 1 bajt i uvek je pozitivna (dakle 0 do 255)
signed char je tip koji definise varijablu koja uzima 1 bajt i moze da bude negativna (dakle -128 do +127)

ako stavis samo int, u zavisnosti od kompajlere to moze da bude 2 ili 4 bajta varijabla i uvek je sa znakom, dakle -32768 do +32767 ili -2147483648 do +2147483647.

Ako stavis unsigned int onda je od 0 do +65535 ili 0 do +4294967295 (zavisno dal je 2 ili 4 bajta)

long integer je "veliki integer" i u zavisnosti od kompajlera je ili 2 bajta ili 4 bajta ili 8 bajtova i isto moze da bude i "signed" i "unsigned".

Po defaultu su svi signed (ako ne stavis nista), ali ako dodas unsigned ... jasno ..

ako ces da radis u mikroC - pogledaj help za "Fundamental Types", pa onda pogledaj "Arithmetic Types"

Citat:

The arithmetic type specifiers are built up from the following keywords: void, char, int, float and double, together with the prefixes short, long, signed and unsigned. From these keywords you can build both integral and floating-point types.

Integral Types
The types char and int, together with their variants, are considered to be integral data types. Variants are created by using one of the prefix modifiers short, long, signed and unsigned.

In the table below is an overview of the integral types – keywords in parentheses can be (and often are) omitted.

The modifiers signed and unsigned can be applied to both char and int. In the absence of the unsigned prefix, signed is automatically assumed for integral types. The only exception is char, which is unsigned by default. The keywords signed and unsigned, when used on their own, mean signed int and unsigned int, respectively.

The modifiers short and long can only be applied to int. The keywords short and long, used on their own, mean short int and long int, respectively.

Type Size in bytes Range
bit 1–bit 0 or 1
sbit 1–bit 0 or 1
(unsigned) char 1 0 .. 255
signed char 1 - 128 .. 127
(signed) short (int) 1 - 128 .. 127
unsigned short (int) 1 0 .. 255
(signed) int 2 -32768 .. 32767
unsigned (int) 2 0 .. 65535
(signed) long (int) 4 -2147483648 .. 2147483647
unsigned long (int) 4 0 .. 4294967295

Floating-point Types
The types float and double, together with the long double variant, are considered to be floating-point types. The mikroC PRO for PIC’s implementation of an ANSI Standard considers all three to be the same type.

Floating point in the mikroC PRO for PIC is implemented using the Microchip AN575 32-bit format (IEEE 754 compliant).

An overview of the floating-point types is shown in the table below:

Type Size in bytes Range
float 4 -1.5 * 1045 .. +3.4 * 1038
double 4 -1.5 * 1045 .. +3.4 * 1038
long double 4 -1.5 * 1045 .. +3.4 * 1038


Koliko sta zauzima, nemoj preterano da se opterecujes time. Kada iskompajliras kod on ti kaze koliko je kod velik, vremenom ces steci osecaj koliko je nesto veliko.

Na malim mcu-ima sve sto nije int kalkulacija zauzima mnogo mesta, dakle izbegavaj razlomljenje brojeve. Ako zadrzis matematiku u celobrojnom domenu neces imati problem
[ bogdan.kecman @ 12.04.2012. 22:10 ] @
Citat:
mbpl


nemam pojma sta je to
[ ZAS011 @ 12.04.2012. 22:15 ] @
Citat:
nikola1258:I dali mozete da mi objasnie kako se radi sa mbpl-om


WTF is mbpl?
[ nikola1258 @ 12.04.2012. 22:40 ] @
Nisam dobro napisao MPLAB program za kucanje i compailiranje nemogu se snaci pa nemogu,znaci matematike sa const i int promenljivih bez decimala moze dosta da stane,a float?kolko on puno vise zauzme od int promenljive?
[ ZAS011 @ 12.04.2012. 23:12 ] @
Ako tvoj uC nema matematicki koprocesor, float aritmetika je potrosac ROM-a i brzine.
Velika vecina "matematike" moze da se odradi uz pomoc celobrojne aritmetike (char, int, long).
Nemoj da te buni ispis po kojekakvim displejima koji imaju asasa decimala, velika je verovatnoca da je racunica iza svega toga celobrojna.

Na primer, iscitavanje DS18B20 temperaturnog senzora se svodi na preuzimanje 2 bajta od istog, a prikaz moze da ima i 4 decimale (kada je senzor konfigurisan za 12-to bitnu konverziju). Sva matematika za dobijanje temperature iz ta 2 bajta je celobrojna.
[ nikola1258 @ 12.04.2012. 23:53 ] @
E hvala zaso11,znaci nemoram da mislim o brojkama a sto se tice MPLAB-a i preporuke nekog 10 bitnog pica
[ ZAS011 @ 13.04.2012. 14:14 ] @
10 bitni PIC ne postoji, il' barem ja nisam cuo da postoji.

Sta bi ti tacno da izvedes, a da se ne pozabavis sa i citanjem datasheet-ova i koriscenjem

http://www.microchip.com/productselector/MCUProductSelector.html

i da ti sve bude objasnjeno tacno kol'ko ce da ti zauzme mesta u ROM-u, kolika ce ti biti potrosnja RAM-a, ...
[ nikola1258 @ 13.04.2012. 14:25 ] @
Za pocetak da upalim jednu pa dve diode pa da im menjam mesta sabirajuci ih ili oduzimajuci...e da dali moze da se napise formula da je za 8-titni da vrti od 255 do nule a da zbir a.0,a.1,a.2,a.3,a.4,a.5,a.6,a.7, ako je dva da stane i da upali dve diode,pa opet kad se stiske taster da upali druge dve diode jese to tako rad?znaci brojac koji bi pomerao siftovao,ili mora mnogo vise matematike?
[ bogdan.kecman @ 13.04.2012. 17:19 ] @
Code:

if ( PORTA.F0 + PORTA.F1 + PORTA.F2 + PORTA.F3 + PORTA.F4 + PORTA.F5 + PORTA.F6 + PORTA.F7 == 2){
  //ovde upali tvoje dve ledare
}


jesi to hteo ?!
[ nikola1258 @ 13.04.2012. 17:27 ] @
Hvala al daleko sam ja jos,moram ja jos citati neide...