Ik ben nu bezig met USART & jal alleen het compileren lukt niet.
Dit is code:


include 16f628_4
include jlib
include seriali

const asynch_bautrate = 1200
const asynch_polarity = active_low
const asynch_parity   = parity_none
const asynch_stopbits = 2

var volatile bit asynch_in_pin       is pin_a0
var volatile bit asynch_in_direction is pin_a0_direction



var byte a, b, c, d, x

var bit A is pin_a0
var bit B is pin_a1
var bit C is pin_a2
var bit D is pin_a3

forever loop
asynch_receive(x)
if x == a then
A = High
C = Low
Delay_1S
end if

if x == b then
B = High
D = Low
Delay_1S
end if
end loop

Dit is error:


jal 00.04-50 (djgpp)
[Error] (seriali.jal)  [line 35 char 4] expression expected

Hoe kan dit?

tzit zoiezo in de libary
iets verkeerd of niet aangepast of zo

meerdere foutjes:

  • Seriali maakt gebruik van een aantal constants die pas later worden gedefinieerd.
  • baudrate schrijf je met een D (ik wil niet weten hoe het bij jouw rook op het moment dat jij bautrate typte :) )
  • De constant out pin/direction is niet gedefinieerd.
  • Jal maakt geen onderscheid tussen 'a' en 'A'. Je mag deze dus ook niet gebruiken om twee vesrchillende types aan te geven.

zo zou het wel moeten werken:


include 16f628_4
include jlib
--
const asynch_baudrate = 1200
const asynch_polarity = active_low
const asynch_parity   = parity_none
const asynch_stopbits = 2
--
var volatile bit asynch_in_pin       is pin_a0
var volatile bit asynch_in_direction is pin_a0_direction
--
var volatile bit asynch_out_pin       is pin_a1
var volatile bit asynch_out_direction is pin_a1_direction
--
include seriali
--
var byte xa, xb, xc, xd, xx
var bit A is pin_a0
var bit B is pin_a1
var bit C is pin_a2
var bit D is pin_a3
--
forever loop
  asynch_receive(xx)
  if xx == xa then 
    A = High
    C = Low
    Delay_1S
  end if
  if xx == xb then
    B = High
    D = Low
    Delay_1S
  end if
end loop

Voor de leesbaarheid een aantal '--' tussengezet, Mag wegelaten worden.

Wil je dat het programma iets gaat doen als jij bv een 'a' stuurt?
verander dan


  if xx == xa then 

in


  if xx == "a" then 

bij var byte xa, xb, ... kan je xa weglaten

[Bericht gewijzigd door Confusion op ]

Mooi,
Nou zit hij in de PIC.
Alleen 1 probleem. Ik wil hem nu via de computer laten sturen.
Tijdje terug heb ik hier code van gezien gepost door iemand op CO alleen ik kan de code gewoon niet meer vinden via de search.
Dus mijn vraag:
1. Welke pin van de RS232 heb ik nodig voor USART

2. Welke code moet ik schrijven in VB6 zodat hij een "a" of een "b" verzend naar de PIC?

Op 31 januari 2004 10:47:16 schreef LED-Maniak:
Mooi,
Nou zit hij in de PIC.
Alleen 1 probleem. Ik wil hem nu via de computer laten sturen.
Tijdje terug heb ik hier code van gezien gepost door iemand op CO alleen ik kan de code gewoon niet meer vinden via de search.
Dus mijn vraag:
1. Welke pin van de RS232 heb ik nodig voor USART

2. Welke code moet ik schrijven in VB6 zodat hij een "a" of een "b" verzend naar de PIC?

pin 7 en 8 van een 16F628 (b1 en b2)

Op 31 januari 2004 04:01:07 schreef Confusion:
...

Niets aan toe te voegen, Confusion doet z'n naam geen eer aan!

Er gebeurt nu gewoon niets als ik met VB6 iets zend en moet ontvangen met de PIC. Heeft iemand een voorbeeld code voor PIC & VB6?

Op 31 januari 2004 17:26:46 schreef LED-Maniak:
Er gebeurt nu gewoon niets als ik met VB6 iets zend en moet ontvangen met de PIC. Heeft iemand een voorbeeld code voor PIC & VB6?

Heb ik, zal ik je morgen sturen.

Op 31 januari 2004 18:26:00 schreef Atmoz:
Heb ik, zal ik je morgen sturen.

he en ik krijg die niet???

;-(

Op 31 januari 2004 18:26:00 schreef Atmoz:

[...]

Heb ik, zal ik je morgen sturen.

Graag!

Alvast bedankt!

Op 31 januari 2004 18:56:41 schreef Sp3ci3S:

[...]

he en ik krijg die niet???

;-(

Jou had ik erover gemaild, maar heb ondertussen alweer een mailtje van je terug dat mijn mail niet aangekomen was (zeker naar iemand anders gestuurd in m'n zatte bui) :)

Op 31 januari 2004 21:45:55 schreef LED-Maniak:

[...]

Graag!

Alvast bedankt!

Hier is het dan. Helemaal compleet met de juiste LIB's en alles. Als je deze code gebruikt en je stuurt via rs232 (hyperterminal ofzo) een karakter naar de PIC, dan zet hij die netjes op het LCD scherm. De pinaansluitingen kun je vinden in de LIB's.


pragma target chip 16f628
pragma target clock 4_000_000
pragma target osc hs
pragma target watchdog off
pragma target powerup on
pragma target protection off


include jpic628a
include hd44780_4_insNEW
include jlib
uart_init

var byte serIn
var bit hasData
var byte a




forever loop

async_rx( a, hasData )


if ( hasData ) then
async_tx (a)
LCD_char = a
end if

   
end loop

De LIB's kun je vinden in:
http://members.home.nl/geertvl/projecten/JALcc%20LCD_RS232/

De VB code zal ik zo ook eventjes neerzetten. Welke COM poort wil je gebruiken? En hoe wil je het hebben? Dat je de karakters in een TextBox zet en dan op verzenden moet drukken?

Atmoz

zeg atmoz van waar haal jij async_rx en async_tx

zelf geschreven of zo

hoe heb jij je hypertermilnal ingetsteld
ik krijg de ballen verbinding met mn pic

Op 2 februari 2004 19:57:48 schreef Sp3ci3S:
zeg atmoz van waar haal jij async_rx en async_tx

zelf geschreven of zo

hoe heb jij je hypertermilnal ingetsteld
ik krijg de ballen verbinding met mn pic

Ik heb de LIB's er nog bij gedaan.... Completer kan niet he ;)

Nee, zelf schrijven kan ik (nog) niet. Dat lijkt me wat moeilijk. Gewoon op internet vragen en mailen enzo. Ik heb er best wat moeite voor moeten doen. Je kunt bijvoorbeeld ook terrecht op de JALlist. HyperTerminal en al mijn programma's in VB stel ik zo in:

COMpoort: COM2
Bautrate: 9600
Databits: 8
Partity: 1
Stopbits: 1

Dan werkt het perfect. Je kunt van en naar PIC zenden ;)

pfff gaat ni van mij
in hyperterminal kan je toch normaal een karakter typen en doorzenden dat lukt nie van mij:(

Wat lukt niet?
Hebben jullie een 16F628?
En wat voor schema gebruiken jullie?

Op 2 februari 2004 20:52:35 schreef Atmoz:

Wat lukt niet?
Hebben jullie een 16F628?
En wat voor schema gebruiken jullie?

nope 16F870 rx en tx pin aanwezig van dit naar MAX232 met nodige condestoren en vandaar naar com1
openen hyperterminal maar er gebeurd niks ik kan gaan karakters intypen

Op 2 februari 2004 21:10:09 schreef Sp3ci3S:

[...]

nope 16F870 rx en tx pin aanwezig van dit naar MAX232 met nodige condestoren en vandaar naar com1
openen hyperterminal maar er gebeurd niks ik kan gaan karakters intypen

Tja, de LIB geeft aan dat je een 16F628 moet gebruiken met pin 7 en 8. Ik weet niet of het op andere pics ook zo werkt. En karakters intypen in HT doet'ie wel, maar hij laat ze aalleen niet zien (kunje wel aaanzetten).

Op 2 februari 2004 20:52:35 schreef Atmoz:

Wat lukt niet?
Hebben jullie een 16F628?
En wat voor schema gebruiken jullie?

Ik heb wel 628 ja maar als ik het wil compileren dan kan dat niet door fouten(en jaik heb dat andere gedownload)

Op 2 februari 2004 21:16:11 schreef LED-Maniak:

[...]

Ik heb wel 628 ja maar als ik het wil compileren dan kan dat niet door fouten(en jaik heb dat andere gedownload)

Dus je hebt al die LIB's gedowload die ik online heb staan, en precies mijn code gebruikt, en dan kun je niet compileren? Dat is wel erg vaag. Waarom lukt het hier wel dan he :S

Op 2 februari 2004 21:25:11 schreef Atmoz:

[...]

Dus je hebt al die LIB's gedowload die ik online heb staan, en precies mijn code gebruikt, en dan kun je niet compileren? Dat is wel erg vaag. Waarom lukt het hier wel dan he :S

Jah, idd.

Deze fout:


jal 00.04-50 (djgpp)
[Error] (hd44780_4.jal)  [line 70 char 9] can not open the file 'delay_20mc'

Op 2 februari 2004 21:26:51 schreef LED-Maniak:

[...]

Jah, idd.

Deze fout:


jal 00.04-50 (djgpp)
[Error] (hd44780_4.jal)  [line 70 char 9] can not open the file 'delay_20mc'

waarschijnelijk mist de library "delay_20mc" kijk eens of je deze hebt staan (ook op de juiste plaats) en probeer hem anders eens te downloaden, dan doet hij het denk ik wel:)

Op 2 februari 2004 21:38:07 schreef Wouter Sijm:

[...]

waarschijnelijk mist de library "delay_20mc" kijk eens of je deze hebt staan (ook op de juiste plaats) en probeer hem anders eens te downloaden, dan doet hij het denk ik wel:)

Maar die bestaat gewoon niet en lijkt mij gewoon een normale Delay.

ik heb de lib gevonden opde site van VASILE
gemaakt voor een 877 (of870)

alles runt (denk ik) maar ik krijg geen karakters verzonden met hyperterminal

bij verzenden vraagt hij een bestand en allerhande protocols (kermit,......blablabl )

i deunt know;(

Op 2 februari 2004 21:44:29 schreef LED-Maniak:

[...]

Maar die bestaat gewoon niet en lijkt mij gewoon een normale Delay.

volgens mij ben je verschillende versies door elkaar aan het gooien

die libs zijn meegekomen met jalcc
ik gebruik terug de oude die ik gvonden heb op voti.nl