hallo,

Ik wou vandaag eens beginnen om de usart aan te gaan sturen in jal. Dus ik dacht: effe zoeken hoe het werkt en uit proberen. Helaas lukte het zoeken al niet :(. Dus mijn vraag is weet iemand misschien hoe ik de usart kan aansturen in jal, of heeft iemand misschien een webstite voor mij waar dat op uit gelegd staat?

alvast bedankt:)

Kijk eens op de website van Vasile Surducan, of in de files area van de jallist.

Mij lukte dat dus ook al niet.
Ik wil een infrarood afstandsbediening maken met JAL en de USART gebruiken, maar krijg niets aan de gang...

Mij lukte dat dus ook al niet.
Ik wil een infrarood afstandsbediening maken met JAL en de USART gebruiken, maar krijg niets aan de gang...

wat lukt niet? infrarood? de USART? heb je op de jallist filepage gekeken?

Op 10 februari 2003 20:47:47 schreef Wouter van Ooijen:
Kijk eens op de website van Vasile Surducan, of in de files area van de jallist.

ik had die website van Vasile Surducan al gezien maar om eerlijk te zijn snapte ik daar niet al te veel van, maar die jallist is wel een mooi forum!! Ik zal die wanneer ik eens tijd heb eens bekijken.

bedankt

Ik snap helaas nog steeds niet veel van hoe ik de usart kan aansturen in jal, maar weet iemand misschien of er nog een andere manier is om twee pic's ( een 16f877 en een 16f76 )met elkaar te laten comminuceren??

Op 11 februari 2003 18:48:12 schreef Wouter SSijm:
Ik snap helaas nog steeds niet veel van hoe ik de usart kan aansturen in jal, maar weet iemand misschien of er nog een andere manier is om twee pic's ( een 16f877 en een 16f76 )met elkaar te laten comminuceren??

Vele andere manieren, maar die zijn allemaal ingewikkelder dan het gebruik van een UART. (I2C, SPI, parallel met handshake, verzin zelf een protocol, etc)

Op 11 februari 2003 19:55:44 schreef Wouter van Ooijen:

[...]

Vele andere manieren, maar die zijn allemaal ingewikkelder dan het gebruik van een UART. (I2C, SPI, parallel met handshake, verzin zelf een protocol, etc)

mm jammer :(. Ik weet niet of je misschien effe een voorbeeld progammatje voor me wil schrijven dat dan een pic b.v een h zend over de usart en dan een ander progammatje die dan b.v. stroom op een pin zet als er een h op de usart binnen komt. Dan zou ik hem zelf wel kunnen aanpassen. Ik hoop dat je dit voor me wilt doen :o

alvast bedankt

Je moet de datasheet lezen over het gebruik van UART, en dan gewoon de registers instellen zoals daar beschreven staat. Dit in allebij de PIC's zo doen. En zenden maar!

Op http://www.voti.nl/wisp628 staan voorbeeld programma's. Naast blink-een-LED programma's voor bijna alle flash PICs staat er ook een programma dat een letter ontvangt en dan de hex code ervan terugzend. Misschien kan je dat als basis gebruiken?

harstikke bedankt Wouter!
alleen heb ik nog heel even een vraagje over het bestand a877-b6t.jal. hier staat op een gegeven moment dit: asynch_send( x ). hier mee kun je dus een x verzenden, maar nu heb ik even aan mijn pa gevraagd hoe je dan een bepaalde pin hoog maakt als hij b.v een a binnen krijgt. Hij zij toen dat je dat zo moest doen:


 asynch_receive( c )
 if c == a then
 pin_b7 = high

ik denk wel dat dit klopt want bij het compileren gaf hij geen foutmelding, maar ik weet het niet zeker of dit klopt.
en dan heb ik gelijk nog een vraagje: mag ik de pinnen c6 en c7 veranderen door andere i/o pinnen of niet?

Op 13 februari 2003 17:24:16 schreef Wouter SSijm:
ik denk wel dat dit klopt want bij het compileren gaf hij geen foutmelding

Het klopt inderdaad (mits die pin een output, natuurlijk. Maar het zal ik ROFL (jargon voor 'lag me dood') van je redenering.

Op 13 februari 2003 17:24:16 schreef Wouter SSijm:
mag ik de pinnen c6 en c7 veranderen door andere i/o pinnen of niet?

Ik neem aan dat je b6 en b7 bedoeld? Ja, dat mag.

nogmaals harstikke bedankt Wouter!
wel fijn dat je die pennen gewoon mag veranderen, maakt het ontwerp voor de print alweer makkelijker!

ik heb nu dit progammatje geschreven om een letter weg te zenden:


 include f877_10
 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_c1
 var volatile bit asynch_in_direction  is pin_c1_direction

 var volatile bit asynch_out_pin       is pin_d7
 var volatile bit asynch_out_direction is pin_d7_direction

 include seriali

 var byte a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z


 pin_c2_direction = output
 pin_c3_direction = output
 pin_c4_direction = output
 pin_c5_direction = output
 pin_c6_direction = output
 pin_c7_direction = output
 pin_b0_direction = output
 pin_b1_direction = output
 pin_b2_direction = output
 pin_b3_direction = output
 pin_b4_direction = output
 pin_b5_direction = output
 pin_b6_direction = output
 pin_b7_direction = output


 forever loop
 asynch_send( a )
 delay_1s ( 1 )
 asynch_send( b )
 delay_1s ( 1 )
 end loop

en deze voor de ontvanger:


 include f877_10
 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_c1
 var volatile bit asynch_out_direction is pin_c1_direction

 include seriali

 var byte a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q

 pin_c2_direction = output
 pin_c3_direction = output
 pin_c4_direction = output
 pin_c5_direction = output
 pin_c6_direction = output
 pin_c7_direction = output
 pin_b0_direction = output
 pin_b1_direction = output
 pin_b2_direction = output
 pin_b3_direction = output
 pin_b4_direction = output
 pin_b5_direction = output
 pin_b6_direction = output
 pin_b7_direction = output
 
 forever loop
 asynch_receive( q )
 if q == a then
 pin_b7 = low
 pin_b6 = low
 pin_b5 = low
 pin_b4 = low
 pin_b3 = low
 pin_c2 = low
 pin_c3 = high
 end if
 if q == b then
 pin_b6 = high
 pin_b7 = low
 pin_b3 = low
 pin_b2 = high
 pin_b1 = high
 pin_b5 = high
 pin_b4 = high
 end if
 end loop

alleen doet hij helaas nog niet veel ( er komt geen stroom op de juiste pennen, en op andere die niet moeten juist wel). Weet iemand misschien waar dit aan kan liggen?