Fórum témák
- • Mosogatógép hiba
- • ESR mérő
- • Transzformátor készítés, méretezés
- • Napelem alkalmazása a lakás energia ellátásában
- • Audiofil, High End Audio
- • LCD monitor probléma
- • Villanyszerelés
- • Érdekességek
- • Tápegységgel kapcsolatos kérdések
- • Jókívánság
- • Analóg oszcilloszkóp javítása
- • Vicces - mókás történetek
- • LCD kijelző vezérlése, életre keltése
- • LED-es lámpa, meghajtó áramkör
- • Erősítő mindig és mindig
- • Sárga Kazettás Piaci Nintendo (8bit)
- • Számítógép hiba, de mi a probléma?
- • Projektor
- • Teljesítmény -LED, powerLED (pl. Cree, Luxeon) vezérlése
- • Aszinkron motorok tekercselése
- • DSP - Miértek, hogyanok
- • TV hiba, mi a megoldás?
- • Kombikazán működési hiba
- • Szilárdtest relé
- • LCD TV probléma
- • 3-fázisú Modbus-os teljesítményszabályzó (SCR power controller)
- • Digitális forrasztóállomás
- • Li-Po - Li-ion akkumulátor és töltője
- • Rendelés külföldről (eBay - Paypal)
- • Rádiós adó-vevő modulok
- • Rádióamatőrök topikja
- • Westen 240 Fi gázkazán hiba
- • Padlófűtés vezérlés
- • Menetszámolós tekercselőgép házilag
- • Autórádió (fejegység) problémák, kérdések, válaszok
- • Autó-generátor nem tölt rendesen
- • Digitális kapcsoló
- • Erősítő probléma
- • Hiszterézis komparátor
- • Dobozolási technikák, műszerdobozok
- • Műhelyünk felszerelése, szerszámai
- • Rossz HDD javítás, mentés
- • Tervezzünk nyákot EasyEDA-val
- • Lézergravírozás
- • Nagy áramú pwm vezérlő építése
- • GPS GSM modulok programozása
- • HESTORE.hu
- • Hűtőgép probléma
- • Ultrahangos párásító
- • Felajánlás, azaz ingyen elvihető
- • LED-es index
- • Kenyérsütőgép
- • Autóriasztó és központi zár
- • Eberspacher állófűtés javítása
- • Villanymotor mi a hiba?
» Több friss téma
|
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Egy átlagos LCD adatlapja szerint a bekapcsolás után várni kell 15 ms-ot, aztán az a beállítási parancsok után egyenként 4,1 ms-ot, az átlagos válaszidő 100-200 ms.
Szerintem a PLL elindulása bőven belefér.
Hiába hiszed nehezen , az pedig működik , kikapcsolja a B7 es lábon lévő ledet.
A javascriptben pedig : if((PORTB & 1) == 0)
Működik , köszönöm szépen
Idézet: „Hiába hiszed nehezen, az pedig működik, kikapcsolja a B7 es lábon lévő ledet.” Ugy mukodik, hogy if(PORTB.F0 == '0')? Biztos? Nem if(PORTB.F0 == 0) van ott inkabb? Mert nem mindegy.
Idézet: „A javascriptben pedig : if((PORTB & 1) == 0)
Működik , köszönöm szépen” A jó úttörő ott segít, ahol tud.
Szia!
Igen '0' működik , biztos. Viszont .... Az if((PORTB & 1) == 0) ami a javascriptben van , az összes PORTB lábat lekérdezi , de én csak egyet akarok lekérdezni , akkor azt hogy kell?
PORTB & 1 itt az egyes , az nem az egyes lábat jelenti.
Köszönöm. A hozzászólás módosítva: Márc 30, 2015
Eleg hihetetlen, hogy a '0' mukodik. Bar, lehet, hogy ez a PORTB.F0 ez egy struktura eleme, es akkor mukodhet igy. Bar ez sem valoszinu, mert akkor a struktura utkozne a PORTB valtozoval, ami a PIC tenyleges PORTB regisztere.
A javascript-ben a (PORTB & 1) az a PORTB valtozo legalso bitjet veszi csak figyelembe, tehat csak 1 kimenetet. De ez mar reges regen nem PIC tema, hanem programozasi alapismeretek.
A javascript-ben az if igy kellene kinezzen:
for(i = 0; i < 8; ++i){
if((PORTB & (1 << i)) == 0)
Ez igy mind a nyolc kimenetet lekerdezi, kulon-kulon.
Üdv!
Nem szeretnék nagyon bele szólni, de a Javascript nem tudja közvetlenül elérni a PIC portjait, mert az csak a böngészőben fut. Ajax-al kellene a változót (ami a port állapotát hordozza) átvenni a webszervertől. Ez már nem biztos, hogy belefér szegény PIC-be. Szóval vagy nagyobb PIC-kell, vagy statikus oldalakat használsz, vagy külső memórián tárolod a weboldalak tartalmát (pl SD kártya).
Ha jól vettem ki a programból, akkor minden frissítésnél kérdezi le az információkat.
Ha jól láttam van egy frissítési gomb is, tehát itt az ajax csak akkor kell, ha automatikus időközönként akarja lekérdezni a szerveroldalt.
Ha nem, akkor jó a kliensoldali JavaScript.
Persze ez a része már nem PIC téma..
Amúgy érdekes kérdés foglakoztat:
Lehetséges lenne egy sima memória mondjuk 25LC SPI-s memóriába letárolni a weboldal html szerkezetét? A hozzászólás módosítva: Márc 30, 2015
Igen , frissítéskor kérdezi le.
Értelek , tehát akkor nincs mód arra , hogy csak egyet kérdezzek le. Köszi.
Ezt akkor javascriptben kell lekezelni , hogy 1-et jelenítsen meg. Bár ez elég gáz szerintem . A hozzászólás módosítva: Márc 30, 2015
Nem csak az autó frissítéshez jó az ajax. Ha a frissítés gombot kell nyomogatni, akkor meg teljesen felesleges a javascript. Amúgy attól még ugyan úgy fel kell valami JS változót tölteni a port állapotával, mert a JS-nek lila gőze sincs arról, hogy mi az a PORTB. Egyszerűbb lenne, ha programból lenne kiküldve a megfelelően formázott szöveg a feltételeknek megfelelően, így nem lenne szükség JS-re.
Teljesen igazad van és egyet is értek...
A JavaScript mondjuk annyit könnyít, hogy tudsz változókat kezelni amit egy egyszerű html oldal esetén nem.
Így a kódok rövidebbek lehetnek, ha ez nem lenne akkor lehet nem férne bele a PIC memóriájába a cucc.
Igen, de saját meglátásom szerint egyenlőre egy sima LED ki/be felirat és egy szín megváltoztatása statikus módban nem sokkal dobná meg a méretet (talán még kisebb is lenne).
- Kiírjuk a html tartalmát addig a sorig ahol változtatni kell.
- Eldöntjük programból, hogy LED ki, vagy LED be és kiíírjuk a megfelelőt.
- Kiírjuk a maradék html tartalmat.
Ennyi az egész.
Ha ez mind megy, akkor jöhetne a JavaScript... A hozzászólás módosítva: Márc 30, 2015
Szerintem nem ertesz. Vagy en nem ertelek teged.
Ha azt akarod, hogy ne nyolc gomb legyen a webes feluleten, akkor a for() ciklust ki kell venni a javascriptbol. Vegulis a javascript generalja a html tartalmat, amit a bongeszo megjelenit. A hozzászólás módosítva: Márc 30, 2015
Igen , ezzel tökéletesen tisztában vagyok . Kivettem belőle , de az eredmény az volt , hogy egyszer mutatta rendesen , utánna nem. Tehát ugráltak az értékek a változóban. De mindjárt mutatok egy forrást is úgy mindenkinek könnyebb lesz .
Csináltam egy videót is , hogy jobban lehessen érteni mi a gond : Letöltés
Tehát "ugrálnak a számok" , ezért egyszer jó , egyszer nem.
Itt pedig a forrás , ami be van égetve :
// duplex config flags
#define Spi_Ethernet_HALFDUPLEX 0x00 // half duplex
#define Spi_Ethernet_FULLDUPLEX 0x01 // full duplex
// mE ehternet NIC pinout
sfr sbit SPI_Ethernet_Rst at RC0_bit;
sfr sbit SPI_Ethernet_CS at RC1_bit;
sfr sbit SPI_Ethernet_Rst_Direction at TRISC0_bit;
sfr sbit SPI_Ethernet_CS_Direction at TRISC1_bit;
// end ethernet NIC definitions
typedef struct
{
unsigned canCloseTCP: 1; // flag which closes TCP socket (not relevant to UDP)
unsigned isBroadcast: 1; // flag which denotes that the IP package has been received via subnet broadcast address (not used for PIC16 family)
} TEthPktFlags;
/************************************************************
* ROM constant strings
*/
const unsigned char httpHeader[] = "HTTP/1.1 200 OK\nContent-type: " ; // HTTP header
const unsigned char httpMimeTypeHTML[] = "text/html\n\n" ; // HTML MIME type
const unsigned char httpMimeTypeScript[] = "text/plain\n\n" ; // TEXT MIME type
unsigned char httpMethod[] = "GET /";
/*
* web page, splited into 2 parts :
* when coming short of ROM, fragmented data is handled more efficiently by linker
*
* this HTML page calls the boards to get its status, and builds itself with javascript
*/
//*************************************************************************
// Change the IP address of the page to be refreshed
const char *indexPageHEAD = "<meta http-equiv='refresh' content='10;url=http://192.168.0.170/'>\
<HTML><HEAD></HEAD><BODY>\
<h1>Teszt mikrovezérlo<p>avec MikroC PRO v5.6.1</h1>\
<p><a href=\"http://192.168.0.170/b\">Led be</a> - <a href=\"http://192.168.0.170/k\">Led ki</a><p>\
<p><a href=/>Frissít</a><p>\
<script src=/s></script>";
const char *indexPageBODY = "<form name='input' method='get'><input type='text' name='parancs' /> <br/><input type='submit' name='be' value='Mehet'/></form>";
const char *indexPageBODY2 = "</table></td><td>\
<table border=1 style='font-size:20px; font-family: terminal;'>\
<tr><th colspan=3>KimenetPORTB : <script>document.write(PORTB );</script></th></tr>\
<script>\
var str,i;\
str='';\
\
str+='<tr><td bgcolor=#cccccc>LED B1 es</td>';\
if(PORTB&(1<<1))\
{\
str+='<td bgcolor=green>Bekapcsolva';\
}\
else\
{\
str+='<td bgcolor=#999999>Kikapcsolva';\
}\
str+='</td></tr>';\
document.write(str);\
</script>\
</table></td></tr></table>\
<p>This is HTTP request #<script>document.write(REQ)</script><p>\
</BODY></HTML>";
//*************************************************************************
/***********************************
* RAM variables
*/
unsigned char myMacAddr[6] = {0x00, 0x14, 0xA5, 0x76, 0x19, 0x3f}; // my MAC address
unsigned char myIpAddr[4] = {192, 168, 0, 170}; // my IP address
unsigned char getRequest[15]; // HTTP request buffer
unsigned char get_Request, digit_getRequest, etat_interrupteur;
unsigned char dyna[30]; // buffer for dynamic response
unsigned long httpCounter = 0; // counter of HTTP requests
#define putConstString SPI_Ethernet_putConstString
#define putString SPI_Ethernet_putString
unsigned int SPI_Ethernet_UserTCP(unsigned char *remoteHost, unsigned int remotePort,
unsigned int localPort, unsigned int reqLength, TEthPktFlags *flags)
{
unsigned int len = 0 ; // my reply length
unsigned int i ; // general purpose integer
// should we close tcp socket after response is sent?
// library closes tcp socket by default if canClose flag is not reset here
// flags->canClose = 0; // 0 - do not close socket
// otherwise - close socket
if(localPort != 80)
{ // I listen only to web request on port 80
return(0) ;
}
// get 10 first bytes only of the request, the rest does not matter here
for(i = 0 ; i < 10 ; i++)
{
getRequest[i] = SPI_Ethernet_getByte() ;
}
getRequest[i] = 0 ;
if(memcmp(getRequest, httpMethod, 5))
{ // only GET method is supported here
return(0) ;
}
httpCounter++ ; // one more request done
get_Request = getRequest[5]; // s , d
if(get_Request == 'b')
{
len = putConstString(httpHeader); // HTTP header
len += putConstString(httpMimeTypeHTML); // with text MIME type
PORTB.F0 = 1;
PORTB.F7 = 0;
len += putConstString(indexPageHEAD); // HTML page first part
len += putConstString(indexPageBODY); // HTML page second part
len += putConstString(indexPageBODY2); // HTML page second part
}
if(get_Request == 'k')
{
len = putConstString(httpHeader); // HTTP header
len += putConstString(httpMimeTypeHTML); // with text MIME type
PORTB.F0 = 0;
PORTB.F7 = 1;
len += putConstString(indexPageHEAD); // HTML page first part
len += putConstString(indexPageBODY); // HTML page second part
len += putConstString(indexPageBODY2); // HTML page second part
}
if(get_Request == 's') // utiliser pour <script src=/s></script>
{
// if request path name starts with s, store dynamic data in transmit buffer
// the text string replied by this request can be interpreted as javascript statements
// by browsers
len = putConstString(httpHeader); // HTTP header
len += putConstString(httpMimeTypeScript); // with text MIME type
// add AN2 value to reply
IntToStr(ADC_Read(2), dyna);
len += putConstString("var AN2=");
len += putString(dyna);
len += putConstString(";");
// add AN3 value to reply
IntToStr(ADC_Read(3), dyna);
len += putConstString("var AN3=");
len += putString(dyna);
len += putConstString(";");
// add PORTB value (buttons) to reply
IntToStr(PORTB, dyna);
len += putConstString("var PORTB=");
len += putString(dyna);
len += putConstString(";");
// add PORTD value (LEDs) to reply
len += putConstString("var PORTD=");
IntToStr(PORTD, dyna);
len += putString(dyna);
len += putConstString(";");
// add HTTP requests counter to reply
IntToStr(httpCounter, dyna);
len += putConstString("var REQ=");
len += putString(dyna);
len += putConstString(";");
}
if(len == 0)
{
// what do to by default
len = putConstString(httpHeader); // HTTP header
len += putConstString(httpMimeTypeHTML); // with HTML MIME type
len += putConstString(indexPageHEAD); // HTML page first part
len += putConstString(indexPageBODY); // HTML page second part
len += putConstString(indexPageBODY2); // HTML page second part
}
return(len) ; // return to the library with the number of bytes to transmit
}
unsigned int SPI_Ethernet_UserUDP(unsigned char *remoteHost, unsigned int remotePort,
unsigned int destPort, unsigned int reqLength, TEthPktFlags *flags)
{
return 0; // back to the library with the length of the UDP reply
}
/*
* main entry
*/
void main()
{
PORTA = 0 ;
TRISA = 0xff ; // set PORTA as input for ADC
PORTB = 0 ;
//TRISB = 0xff ; // set PORTB as input for buttons
PORTD = 0 ;
TRISD = 0 ; // set PORTD as output
TRISB0_bit = 0; // B port láb kimenetre állítva
TRISB7_bit = 0; // B port láb kimenetre állítva
/*
* reset bit on RC0
* CS bit on RC1
* my MAC & IP address
* full duplex
*/
SPI1_Init();
SPI_Ethernet_Init(myMacAddr, myIpAddr, Spi_Ethernet_FULLDUPLEX) ;
while(1)
{ // do forever
SPI_Ethernet_doPacket() ; // process incoming Ethernet packets
}
}
A hozzászólás módosítva: Márc 30, 2015
A HTML kódot te írtad? Csak azért kérdezem mert az is egy nagy katyvasz, csoda, hogy működik.
Csak beszúrtam egy form-ot , meg 2 linket hogy lássam mi a helyzet , amúgy az eredeti .Nem akarok vele foglalkozni , addig még nem tudom normálisan lekérdezni egy láb állapotát. A hozzászólás módosítva: Márc 30, 2015
Az a baj hogy halványlila fi...od sincs az egészhez! Az alapok nélkül nem is fogod megérteni, hogy működik! Próbáld ki így:
// duplex config flags
#define Spi_Ethernet_HALFDUPLEX 0x00 // half duplex
#define Spi_Ethernet_FULLDUPLEX 0x01 // full duplex
// mE ehternet NIC pinout
sfr sbit SPI_Ethernet_Rst at RC0_bit;
sfr sbit SPI_Ethernet_CS at RC1_bit;
sfr sbit SPI_Ethernet_Rst_Direction at TRISC0_bit;
sfr sbit SPI_Ethernet_CS_Direction at TRISC1_bit;
// end ethernet NIC definitions
typedef struct
{
unsigned canCloseTCP: 1; // flag which closes TCP socket (not relevant to UDP)
unsigned isBroadcast: 1; // flag which denotes that the IP package has been received via subnet broadcast address (not used for PIC16 family)
} TEthPktFlags;
/************************************************************
* ROM constant strings
*/
const unsigned char httpHeader[] = "HTTP/1.1 200 OK\nContent-type: " ; // HTTP header
const unsigned char httpMimeTypeHTML[] = "text/html\n\n" ; // HTML MIME type
const unsigned char httpMimeTypeScript[] = "text/plain\n\n" ; // TEXT MIME type
unsigned char httpMethod[] = "GET /";
/*
* web page, splited into 2 parts :
* when coming short of ROM, fragmented data is handled more efficiently by linker
*
* this HTML page calls the boards to get its status, and builds itself with javascript
*/
//*************************************************************************
// Change the IP address of the page to be refreshed
const char *indexPageHEAD = "<meta http-equiv='refresh' content='10;url=http://192.168.0.170/'>\
<HTML><HEAD></HEAD><BODY>\
<h1>Teszt mikrovezérlo<p>avec MikroC PRO v5.6.1</h1>\
<p><a href=\"http://192.168.0.170/b\">Led be</a> - <a href=\"http://192.168.0.170/k\">Led ki</a><p>\
<p><a href=/>Frissít</a><p>\
<script src=/s></script>";
const char *indexPageBODY = "<form name='input' method='get'><input type='text' name='parancs' /> <br/><input type='submit' name='be' value='Mehet'/></form>";
const char *indexPageBODY2 = "</table></td><td>\
<table border=1 style='font-size:20px; font-family: terminal;'>\
<tr><th colspan=3>KimenetPORTB : <script>document.write(PORTB );</script></th></tr>\
<script>\
var str,i;\
str='';\
\
str+='<tr><td bgcolor=#cccccc>LED B1 es</td>';\
if((PORTB & 1) == 1)\ //Ha a PORTB.F0 = 1-el akkor Bekapcsolva ha nem akkor kikapcsolva -->
{\
str+='<td bgcolor=green>Bekapcsolva';\
}\
else\
{\
str+='<td bgcolor=#999999>Kikapcsolva';\
}\
str+='</td></tr>';\
document.write(str);\
</script>\
</table></td></tr></table>\
<p>This is HTTP request #<script>document.write(REQ)</script><p>\
</BODY></HTML>";
//*************************************************************************
/***********************************
* RAM variables
*/
unsigned char myMacAddr[6] = {0x00, 0x14, 0xA5, 0x76, 0x19, 0x3f}; // my MAC address
unsigned char myIpAddr[4] = {192, 168, 0, 170}; // my IP address
unsigned char getRequest[15]; // HTTP request buffer
unsigned char get_Request, digit_getRequest, etat_interrupteur;
unsigned char dyna[30]; // buffer for dynamic response
unsigned long httpCounter = 0; // counter of HTTP requests
#define putConstString SPI_Ethernet_putConstString
#define putString SPI_Ethernet_putString
unsigned int SPI_Ethernet_UserTCP(unsigned char *remoteHost, unsigned int remotePort,
unsigned int localPort, unsigned int reqLength, TEthPktFlags *flags)
{
unsigned int len = 0 ; // my reply length
unsigned int i ; // general purpose integer
// should we close tcp socket after response is sent?
// library closes tcp socket by default if canClose flag is not reset here
// flags->canClose = 0; // 0 - do not close socket
// otherwise - close socket
if(localPort != 80)
{ // I listen only to web request on port 80
return(0) ;
}
// get 10 first bytes only of the request, the rest does not matter here
for(i = 0 ; i < 10 ; i++)
{
getRequest[i] = SPI_Ethernet_getByte() ;
}
getRequest[i] = 0 ;
if(memcmp(getRequest, httpMethod, 5))
{ // only GET method is supported here
return(0) ;
}
httpCounter++ ; // one more request done
get_Request = getRequest[5]; // s , d
if(get_Request == 'b')
{
len = putConstString(httpHeader); // HTTP header
len += putConstString(httpMimeTypeHTML); // with text MIME type
PORTB.F0 = 1;
PORTB.F7 = 0;
len += putConstString(indexPageHEAD); // HTML page first part
len += putConstString(indexPageBODY); // HTML page second part
len += putConstString(indexPageBODY2); // HTML page second part
}
if(get_Request == 'k')
{
len = putConstString(httpHeader); // HTTP header
len += putConstString(httpMimeTypeHTML); // with text MIME type
PORTB.F0 = 0;
PORTB.F7 = 1;
len += putConstString(indexPageHEAD); // HTML page first part
len += putConstString(indexPageBODY); // HTML page second part
len += putConstString(indexPageBODY2); // HTML page second part
}
if(get_Request == 's') // utiliser pour <script src=/s></script>
{
// if request path name starts with s, store dynamic data in transmit buffer
// the text string replied by this request can be interpreted as javascript statements
// by browsers
len = putConstString(httpHeader); // HTTP header
len += putConstString(httpMimeTypeScript); // with text MIME type
// add AN2 value to reply
IntToStr(ADC_Read(2), dyna);
len += putConstString("var AN2=");
len += putString(dyna);
len += putConstString(";");
// add AN3 value to reply
IntToStr(ADC_Read(3), dyna);
len += putConstString("var AN3=");
len += putString(dyna);
len += putConstString(";");
// add PORTB value (buttons) to reply
IntToStr(PORTB, dyna);
len += putConstString("var PORTB=");
len += putString(dyna);
len += putConstString(";");
// add PORTD value (LEDs) to reply
len += putConstString("var PORTD=");
IntToStr(PORTD, dyna);
len += putString(dyna);
len += putConstString(";");
// add HTTP requests counter to reply
IntToStr(httpCounter, dyna);
len += putConstString("var REQ=");
len += putString(dyna);
len += putConstString(";");
}
if(len == 0)
{
// what do to by default
len = putConstString(httpHeader); // HTTP header
len += putConstString(httpMimeTypeHTML); // with HTML MIME type
len += putConstString(indexPageHEAD); // HTML page first part
len += putConstString(indexPageBODY); // HTML page second part
len += putConstString(indexPageBODY2); // HTML page second part
}
return(len) ; // return to the library with the number of bytes to transmit
}
unsigned int SPI_Ethernet_UserUDP(unsigned char *remoteHost, unsigned int remotePort,
unsigned int destPort, unsigned int reqLength, TEthPktFlags *flags)
{
return 0; // back to the library with the length of the UDP reply
}
/*
* main entry
*/
void main()
{
PORTA = 0 ;
TRISA = 0xff ; // set PORTA as input for ADC
PORTB = 0 ;
TRISB = 0x00 ; // Az összes PORTB kimenet, ha csak a két portot állítod kimenetnek akkor a többi port lebegni fog, ha nincsenek ellenállással felhúzva
PORTD = 0 ;
TRISD = 0 ; // set PORTD as output
/*
* reset bit on RC0
* CS bit on RC1
* my MAC & IP address
* full duplex
*/
SPI1_Init();
SPI_Ethernet_Init(myMacAddr, myIpAddr, Spi_Ethernet_FULLDUPLEX) ;
while(1)
{ // do forever
SPI_Ethernet_doPacket() ; // process incoming Ethernet packets
}
}
A hozzászólás módosítva: Márc 30, 2015
Értem. Akkor sem jó így. A mellékletben találod a javított html-t. Mint, ahogy már írtam, először elég lenne a két gomb és egy érték kijelzés teljesen statikus HTML módban, teljesen felesleges mindenféle szkript a teszt fázisban, mert csak a saját munkádat nehezíted meg. A PIC-nek kellene megnéznie a LED állapotát és kiírni az ennek megfelelő sort (akár egy egyszerű egyes, vagy nulla formájában), nem pedig a JS-nek, így kíszűrheted HTML programozában lévő esetleges hibákat. És ha így már működik, akkor lehet bonyolítani a dolgot tovább.
A javascript-ben a (PORTB & (1 << 1)) nem a legalso bitet vizsgalja, hanem a kovetkezot. Van valami abban, amit Taki33 montd a halvanylilakkal kapcsolatban...
Jó a feltétel , köszönöm.
Persze , most kezdtem csak Pic-et programozni és egyáltalán nem értek hozzá nem tagadom.
Igen úgy lenne jó kezdetben persze , csak én azt hittem , hogy mindenképpen kell js ahhoz , hogy kiírja a böngészőbe a pic változót.
Köszi a kódot , de azzal nincs problémám mint mondtam
Meg lehet oldani, említették is, hogy úgy kell a főprogramban megírni a feltételeket, hogy a végén a teljes HTML kód tartalmazza a változók eredményét.
A többivel nem kell törődnöd, azért vagy itt mert nem érthez hozzá
Mi meg azért vagyunk itt, hogy segítsünk..
De én is azt javaslom mint eSDi, próbálj meg egyszerre egy valamit kiíratni aztán mehetne a rugalmas JavaScript-es téma is..
Rendben , köszönöm , ráálltam az üres html re
Idézet: „Persze , most kezdtem csak Pic-et programozni és egyáltalán nem értek hozzá nem tagadom.” Barmifele programozashoz ertesz? Mert igy nagyon nehez lesz megtanulni. Figyelmetlen vagy es kapkodsz. Ez sok jora nem vezet. Amig nem tudod, hogy mit jeletn az (1 << i), addig kar leirni! Javaslom, hogy fogj egy C konyvet, es kezdd el az elejerol.
html,php,mysql,css, ezekhez.
Idézet: „Mi meg azért vagyunk itt, hogy segítsünk..”
Vagy is próbáljunk segíteni... , de értem mire célzol...
Kerestem amit írtál, hogy mi a maximális kvarc de de csak az ECH-át találtam de PIC16F1718-ról van szó.
Szerk: Megtaláltam mégis csak másképp volt leírva itt is 20MHz. Akkor marad 8MHz PLL, amit használnék annak is a CL-je = 20pF arra szűrőkondiként 27p ? A hozzászólás módosítva: Márc 30, 2015
|
|