Näyte HiTech PIC C Bit-bang ohjelma

E

ericmar

Guest
Hi guys,

I'hv vakava ongelma, jota olen hv ratkaista se 1viikko niin voi jokainen auttaa minua?Kirjoitan ohjelman omalle PIC käyttäen Hitech PIC C ja I cant get it työtä näytteen bit-bang koodausstandardien tarjotaan.I'hv jo käytetty minun USART interface jonkin toiminnan ja näin ollen tarvitse matkia toisen USART interface hyväksymiselle GPS-tiedot minun GPS-vastaanotin.Olen kuitenkin pitää saada roskapostina viestit vaikka I'hv asettaa baudinopeus oikein.I couldnt selvittää wats ongelma koska I dont ymmärrä koodausstandardien!Oma PIC on 16F877 ja minun GPS-vastaanotin on Garmin GPS 18LVC.Olen huomannut, että roskapostina viestit, jonka sain jotenkin toistaa hieman defferent jonka tulisi olla aikaa ja tarkistussumma että pitää muuttuvat joka toinen GPS viesti.Malli näyttää oikein, mutta sitten juuri couldnt saada oikeat tiedot.Ihmettelen, joka osaa koodausstandardien on mennyt pieleen!En yritä saada GPS-tiedot suoraan vaikka sarjapäätettä COM-portin ja se toimii oikein vaikka.Siksi olen sitä mieltä, että se olisi minun GPS ongelma vaan PIC-ohjelmaan.

Arvostan mistään apua!Kiitos paljon!

Terveisin,
Eric

 
Hei,

bitbanged saaneen on lähes aina jokin ongelma ...

Kun kyseessä on GPS voit yrittää vaihtaa GPS on pienempi baudrate (1200 baudin esimerkiksi) bitbanging saattaa olla helpompaa sitten, koska ajoitus ei ole yhtä kriittinen.

Mikä on kellon taajuus teidän pic ja jotka koodi sinulla käyttää bitbanged vastaanottamisesta?

Mille muiden tehtäväksi tehdä tarvitset rakennettu USART?
Jos se on välittää vain tai jos se toimii alhainen baudrate voit käyttää bitbanging tähän tehtävään ja käyttää rakennettu USART sinun GPS.

Jos bitbanging koodi ei ole liian suuri postittaa sen ja aion katsoa

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Hymyillä" border="0" />ystävällisin terveisin

 
C-Man wrote:

Hei,bitbanged saaneen on lähes aina jokin ongelma ...Kun kyseessä on GPS voit yrittää vaihtaa GPS on pienempi baudrate (1200 baudin esimerkiksi) bitbanging saattaa olla helpompaa sitten, koska ajoitus ei ole yhtä kriittinen.Mikä on kellon taajuus teidän pic ja jotka koodi sinulla käyttää bitbanged vastaanottamisesta?Mille muiden tehtäväksi tehdä tarvitset rakennettu USART?

Jos se on välittää vain tai jos se toimii alhainen baudrate voit käyttää bitbanging tähän tehtävään ja käyttää rakennettu USART sinun GPS.Jos bitbanging koodi ei ole liian suuri postittaa sen ja aion katsoa
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Hymyillä" border="0" />

ystävällisin terveisin
 
Kaikki hyvät optimoivat C kääntäjä poistaa tämän tee mitään julkilausuma:
Code:

while (- DLY);
 
echo47 wrote:

Kaikki hyvät optimoivat C kääntäjä poistaa tämän tee mitään julkilausuma:Code:

while (- DLY);
 
Hi ericmar,

Kesti tarkastella koodistasi, pahoillani, mutta tämä on hyvin alkukantaista.

Ajattelin, että se keskeyttää vetäviä, kun istua odottamassa merkin on saanut MCU voi tehdä mitään muuta tämä on käyttökelvoton projektiisi ...

Sinun tulisi myös overthink 4 MHz kristall, haluan käyttää vähintään 8 tai jopa paremmin 16MHz koska käytettäessä ohjelmisto RS232 suorittimen voi tehdä vain 208 komennot tarvittava aika saada yhden bitin.

Neuvoni on: käytä 16MHz kristalli (useimmat 16F877 on eritelty 20MHz) ja käyttää myös keskeyttää ajetaan pehmeällä RS232 jotta suorittimen ei riippua hänen vastaanottaessaan yli pehmeä RS232.

Jos et löytää keskeyttää lähestymistapaa pehmeälle RS232 PM minulle, ja minä yritän auttaa sinua.

ystävällisin terveisin

 
Minulla oli sama ongelma, kun käytät Hitech näytteen järjestysnumero bitbanging rutiini on PIC16F84.Se oli selvästi ajoitus kysymys, joten se vie vähän säätämistä varten TX_overhead ja RX_overhead arvoja.

Ja erehdyksen

 
Quote:

Kumpi do u tarkoittaa?Yksi sisällä Putch tai getch tai molempia?
 
Löysin keskeyttää ajaa BitBang rutiinia (sorry for the AVR) C tässä:
http://www.hpinfotech.ro/softuart.zip

Ehkä voit antaa niitä omiin tarpeisiisi, näyttää OK minulle ...

ystävällisin terveisin

 
Minun pitää yrittää HiTech bit-bang näytteen koodi ja nyt voin saada sen toimimaan osittain milloin 9600bps kanssa 4MHz kristallia.Mutta minun pitää menettää toisen myöhemmin luonnetta.Esimerkiksi, jos voin lähettää ABCDEFG, kun se saa kaiun takaisin voin vain ACEG!Wat voisi olla ongelma?On, että koodi kallistuksen käytetään saada sarja jatkuvan merkkiä?

 
,

Hi ericmar,Quote:Esimerkiksi, jos voin lähettää ABCDEFG, kun se saa kaiun takaisin voin vain ACEG!
Wat voisi olla ongelma?

 
Humber555 wrote:

,
Hi ericmar,
Quote:Esimerkiksi, jos voin lähettää ABCDEFG, kun se saa kaiun takaisin voin vain ACEG!
Wat voisi olla ongelma?

 
ericmar wrote:

Minun pitää yrittää HiTech bit-bang näytteen koodi ja nyt voin saada sen toimimaan osittain milloin 9600bps kanssa 4MHz kristallia.
Mutta minun pitää menettää toisen myöhemmin luonnetta.
Esimerkiksi, jos voin lähettää ABCDEFG, kun se saa kaiun takaisin voin vain ACEG!
Wat voisi olla ongelma?
On, että koodi kallistuksen käytetään saada sarja jatkuvan merkkiä?
 
Hi ericmar,Bit-banging pehmeä huolitsijan saamaan kauan tiedot merkkijono ei ole paras tapa aloittaa
jos lopullinen tavoite on saada täydellinen GPS-paketti.Suosittelen lämpimästi käyttämäänof the 16F877, AND
a circular buffer
.

laitteisto UART
on 16F877, ja
kiertävä
puskuri.onnea,

humber555

 
C-Man wrote:ericmar wrote:

Minun pitää yrittää HiTech bit-bang näytteen koodi ja nyt voin saada sen toimimaan osittain milloin 9600bps kanssa 4MHz kristallia.
Mutta minun pitää menettää toisen myöhemmin luonnetta.
Esimerkiksi, jos voin lähettää ABCDEFG, kun se saa kaiun takaisin voin vain ACEG!
Wat voisi olla ongelma?
On, että koodi kallistuksen käytetään saada sarja jatkuvan merkkiä?
 
ericmar wrote:hi C-Man,Tarkoitan Lähetin tiedot tietokoneen PIC ja sitten PIC yrittänyt echo takaisin tietoja.
Minulla ei ole mitään ongelmaa lähettämällä koko ennalta string alkaen PIC tietokoneellesi.
Sen sijaan saada GPS viesti, olen käyttäen sarjapohjaiseen viestintään ohjelmaa lähettämään ja vastaanottamaan dataa atm yrittää saada koodi toimii oikein 1st.
Voisiko u pls näytä minulle esimerkki keskeyttää valvottavien BitBang rutiini?Kiitos paljon!Terveisin,

Eric
 
C-Man wrote:ericmar wrote:hi C-Man,Tarkoitan Lähetin tiedot tietokoneen PIC ja sitten PIC yrittänyt echo takaisin tietoja.
Minulla ei ole mitään ongelmaa lähettämällä koko ennalta string alkaen PIC tietokoneellesi.
Sen sijaan saada GPS viesti, olen käyttäen sarjapohjaiseen viestintään ohjelmaa lähettämään ja vastaanottamaan dataa atm yrittää saada koodi toimii oikein 1st.
Voisiko u pls näytä minulle esimerkki keskeyttää valvottavien BitBang rutiini?Kiitos paljon!Terveisin,

Eric
 
ericmar,

Minulla ei ole riittävästi ylimääräistä aikaa nyt, mutta yritän auttaa sinua niin pian kuin mahdollista.

Sillä välin haluan olla kiinnostunut miksi et voi käyttää laitteistoa USART, mikä on yhteydessä siihen?

Missä on ohjelmisto usart yhteydessä ja se on tarpeen lähettää ja vastaanottaa?

ystävällisin terveisin

 
Uskomatonta!Sain sen toimimaan oikein nyt muuttamalla viive saaneen kunkin bittinen aloittamisen jälkeen verran RX_OHEAD = 12 RX_OHEAD = 3.Mielestäni kanssa RX_OHEAD = 3 tällöin vain yhtä 1 bit aikaa.Ja coz tein puskuri jopa koko viestin ennen kuin voin tulostaa sen!

Kuitenkin koodi
doesnt toimi oikein, kun olen muuttanut minun PIC alkaen 16F877 on 18F452.Jostain syystä olen couldnt edes ensimmäinen kirjain oikein.

I couldnt käytettävä laitteisto UART becoz I hv ole aikaa valmistaa toisen PCB joten hv emuloiminen ohjelmisto UART voimassa olevaan PCB olen joitakin varaosia satamissa käytettävissä.

 
Anteeksi tietämättömyys olet koonnut koodistasi kanssa PICC18?

Onko sinulla on tarkasteltava sitä, miten asiat on määritelty eri PIC16 ja PIC18?

PIC16:
static volatile unsigned char PORTB @ 0x06;

static volatile unsigned char bank1 TRISB @ 0x86;

/ * PORTB bittiä * /
staattinen haihtuvien bittinen RB7 @ (unsigned) & PORTB * 8 7;

PIC18:
staattinen haihtuvien lähellä unsigned char PORTB @ 0xF81;

staattinen haihtuvien lähellä unsigned char TRISB @ 0xF93;

/ / PortB
staattinen haihtuvien lähellä bittinen RB0 @ ((unsigned) & PORTB *

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Viileä" border="0" />

0;

Joten ainakin käyttää "lähellä" avainsanalla määritelmät PIC18.

Voit myös katsoa, että kerääjiä kokoonpanijalle luettelo tuotos on suuri ero PIC16 ja PIC18 arkkitehtuuri ja sinun on ehkä nipistää parametrit jälleen yhtä viivytystä.

ystävällisin terveisin

 

Welcome to EDABoard.com

Sponsor

Back
Top