Hi Majid, 

what Rob said is of course true, but it is a bit short. That simple method 
relies on the receiver never to miss a byte. You should use some kind of sync 
to enable the receiver to check if it does not confuse lo- and hi-bytes.

When it's ADC results, you can use the "unused bits" of the word. ADCs on 8bit 
PICs have a maximum of 12 bits, so if a received byte has one of the four 
upmost bits set (that is, if (value & 0b11110000) !=0 ) , it must be the lower 
byte. If you check those bits on every byte you presume to be a high byte and 
the check fails, you can just drop that one byte and you're back to sync again.

I myself prefer to use ASCII over binary whenever the speed allows that. If I'm 
struck by lightning, someone else can just connect a computer terminal and read 
what's happening. Furthermore, there are CR/LF characters defined for sync 
purposes. And, there are libraries to simplify the sending part a real lot.

Greets,
Kiste


Am Samstag, 24. April 2021, 07:36:58 MESZ hat Rob CJ <[email protected]> 
Folgendes geschrieben: 







Hi Majid,




If you want to send an integer value you indeed have to send it in bytes. But 
that thouls be faily easy with JAL.




If have for example a variable of type word you can do the following




var word my_word_variable

var byte  my_byte_variable_low at my_word_variable

var byte my_byte_high at my_word_variable + 1



You can then send both 'my_byte' variables separately and in the other PIC you 
do the same, read the two bytes which are mapped to a word.




Als see the documentation of the JAL compiler.




Kind regards,




Rob





________________________________ 
Van: [email protected] <[email protected]> namens majid ebru 
<[email protected]>
Verzonden: vrijdag 23 april 2021 19:47
Aan: jallib <[email protected]>
Onderwerp: Re: NT: [jallib] How to send & receive data over medium distance 
 



Please help me 



I almost work with micro ,12 years ago .




Now I can't send / receive data?!




I should send and receive an integer(like adv value and ....) , but in 
serial_sw_data I just can send a byte ?!?!!!

And just read a byte with serial_sw_read(char)?!




I know that my kowlage about electronic is wake , but now I should do 
read&write data?!




Please guide me,🙏🙏🙏🙏🙏🙏🙏🙏





On Thursday, April 22, 2021 at 11:23:23 PM UTC+4:30 [email protected] wrote:


>  
>  
>  Hi Majid,
> 
>  
> 
> 
>  You have to provide more information. How do you know that they stopped? Did 
>you narrow down the code down to the minimal size to show that it fails? If so 
>you can share that code.
> 
>  
> 
> 
>  And to answer your other - not posted - comment. Due to the fact that you 
>use this group to answer trivial questions that you can find on the Internet 
>(which you should not do) and which are specific JAL or PIC related, your 
>posts are now moderated. Only posts which are relevant to this group are 
>passed on to the other group members.
> 
>  
> 
> 
>  Kind regards,
> 
>  
> Rob
> 
>  
> 
> 
> 
> ________________________________ 
> 
> 
> 
>  
> Van: [email protected] <[email protected]> namens majid ebru 
> <[email protected]>
> 
> 
>  
> Verzonden: donderdag 22 april 2021 20:19
> 
> 
>  
> Aan: jallib <[email protected]>Onderwerp: Re: NT: [jallib] How to send 
> & receive data over medium distance
> 
> 
>  
> Hi  
> 
> 
> 
> Please help me again😢😢😫😫🥺🥺🤔🤔
> 
> 
> 
> 
> When I connected two PICs together , everything is ok.
> 
> 
> 
> 
> But when disconnect port serial , both PICs hanged ?!?!
> 
> 
> 
> 
> Both micro stoped , and when connected again ,both micro work correctly?!
> 
> 
> 
> 
> In fact both micro stopped in line : if  serial_sw_read(char)) then block ....
> 
> 
> 
> 
> And doesn't run other codes🤔🥺😫😢
> 
> 
> 
> 
> Why?!
> 
> 
> 
> 
> How should I do ?!
> 
>  
> On Wednesday, April 21, 2021 at 10:12:03 PM UTC+4:30 funlw65(Vasi) wrote:
> 
> 
>>  
>> The microcontroller boards that are used in Polish Universities are all 
>> equipped with (external - note for Majid) RS485 chips.  
>> 
>> 
>> 
>> 
>> 
>>  
>> On Wed, Apr 21, 2021 at 4:54 PM Rob CJ <[email protected]> wrote:
>> 
>> 
>> 
>>  
>>>  
>>>  
>>>  Hi Majid,
>>> 
>>>  
>>> 
>>> 
>>>  Please use Google to find out what RS485 and IIC is. Use the Jallib group 
>>>for issues with libraries and the compiler not for general questions that 
>>>you can easily find on the internet.
>>> 
>>>  
>>> 
>>> 
>>>  Thanks.
>>> 
>>>  
>>> 
>>> 
>>>  Kind regards,
>>> 
>>>  
>>> Rob
>>> 
>>>  
>>> 
>>> 
>>> 
>>> ________________________________ 
>>> Van: [email protected] <[email protected]> namens majid ebru 
>>> <[email protected]>
>>> Verzonden: woensdag 21 april 2021 15:47
>>> Aan: jallib <[email protected]>
>>> Onderwerp: Re: NT: [jallib] How to send & receive data over medium distance 
>>>  
>>> 
>>> 
>>> RS485 is very powerful. 
>>> 
>>> 
>>> 
>>> But I don't how to implement in PIC?!?
>>> 
>>> 
>>> 
>>> 
>>> Is i2c the same rs485?!
>>> 
>>> 
>>> 
>>>  
>>> On Wednesday, April 21, 2021 at 4:41:19 PM UTC+4:30 vasile wrote:
>>> 
>>> 
>>>>  
>>>>  
>>>>  
>>>> At 15m and 5V there is no problem with data sent in current. Using twisted 
>>>> wire cable is a good habit. 
>>>> 
>>>> From the EMI perspective twisted cable it is about half as good as a 
>>>> shielded cable and has the parasitic capacity quite low compared with the 
>>>> shielded cable.
>>>> 
>>>> RS485 (standard 32 loads) is feasible at 1Km and quite high speed. Still 
>>>> there is an issue with the ground line and requires good terminators.
>>>> 
>>>> Data goes either on A&B plus ground cable (three wires between Tx and RX) 
>>>> or just A&B (two wire cable) and ground connected to earth on the 
>>>> transmitter and receiver end. 
>>>> 
>>>> In the last configuration an issue is quite frequent caused by an offset 
>>>> (variable ground potential between TX and RX).
>>>> 
>>>> Also lightning is a problem for outdoor cables...and nothing help... :)... 
>>>> no matter how others will convince you to put three tranzorbs on each TX 
>>>> and RX  end.
>>>> 
>>>> happy communications! 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>>  
>>>>  
>>>> On Wed, Apr 21, 2021 at 8:32 AM 'Oliver Seitz' via jallib 
>>>> <[email protected]> wrote:
>>>> 
>>>> 
>>>> 
>>>> 
>>>>  
>>>>  
>>>>>  Thanks for the additional information, 800m is something very different 
>>>>>from 20m ;-)
>>>>> 
>>>>> I can imagine that 20m at 5V ground-referenced is doable, but when you're 
>>>>> starting, better stick to the specifications and try your luck when you 
>>>>> have a bit of experience.
>>>>> 
>>>>> I myself am at a similar project, like 15 meter, and I want to use as 
>>>>> little standby current as possible, and no twisted pairs. It's 
>>>>> uni-directional, with constant-current pullup at the receiver and 
>>>>> optically isolated pulldown at the sender with 1200 baud... First test of 
>>>>> the concept in a few days ;-)
>>>>> 
>>>>> If standby current was of no concern, I'd use RS422 or RS485 
>>>>> drivers/receivers, true RS232 is old-fashioned and needs to many 
>>>>> components.
>>>>> 
>>>>> 
>>>>> Greets,
>>>>> Kiste
>>>>> 
>>>>> Am Mittwoch, 21. April 2021, 07:02:46 MESZ hat vsurducan 
>>>>> <[email protected]> Folgendes geschrieben: 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> Oliver, I remember the problems I had with an EIA232 with +/-8V output 
>>>>> running at 800m at 9600bps. Everything works until due the transceiver 
>>>>> heating the voltage dropped at +/-7.6V...:)
>>>>> The length is given by the voltage at the level converter of the 
>>>>> transmitter output. All level converters with charge pumps are not able 
>>>>> to give more than +/-8V...+/-10V in the happiest circumstances.
>>>>> Oldest/goldest EIA232 worked at +/-25V up to 2km.
>>>>> For 20m you do noy need any level converter at the output of your PIC, 
>>>>> just a twisted pair RX-GND TX-GND (CAT5 ethernet cable is perfect) and an 
>>>>> open collector transmitter ( a gate) with pull-up resistor in the 
>>>>> receiver end (at 20m distance from the transmitter).
>>>>> However Majid,  I think you need first to learn jal and for that there is 
>>>>> a learning curve which has to be passed....
>>>>> Please start with the examples, compile them, make them run, modify them 
>>>>> as you wish and post only when nothing works for you after three days of 
>>>>> trying...this will help you more than you may believe right now...
>>>>> best wishes
>>>>> 
>>>>> On Wed, Apr 21, 2021 at 7:28 AM 'Oliver Seitz' via jallib 
>>>>> <[email protected]> wrote:
>>>>>> Hi Majid,
>>>>>> 
>>>>>> SPI is designed for centimeters, I don't think it can work reliably over 
>>>>>> 20 meters.
>>>>>> 
>>>>>> RS232 at 9600 baud is ok for 150 meters, if you're using real RS232 
>>>>>> drivers and receivers like from the MAX232 series. The PIC controller 
>>>>>> does not have RS232, it has a usart which handles the NRZ protocol. This 
>>>>>> protocol is best known as being used by the RS232 interface. Therefore 
>>>>>> the protocol itself is commonly (but wrongly) referred to as "RS232"
>>>>>> 
>>>>>> RS232 uses negative voltages as a symbolic "1" and positive voltages for 
>>>>>> "0". At the receiving side, the voltage must at least go higher than +3V 
>>>>>> for "0" and lower than -3V for "1". At the sending side, voltages from 
>>>>>> up to +15V and down to -15V are used.
>>>>>> 
>>>>>> So, to answer your question in two simple sentences: RS232 is ok for the 
>>>>>> job. But RS232 is not what comes out of the controller.
>>>>>> 
>>>>>> Greets,
>>>>>> Kiste
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Am Dienstag, 20. April 2021, 21:56:34 MESZ hat majid ebru 
>>>>>> <[email protected]> Folgendes geschrieben: 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> can i ask another  question??
>>>>>> 
>>>>>> if it is 20 meter distance between PICs , i should use RS232 or SPI?
>>>>>> 
>>>>>> so sorry and thanks a lot
>>>>>> 
>>>>>> ‪majid ebru‬‏ در تاریخ سه‌شنبه ۲۰ آوریل ۲۰۲۱ ساعت 
>>>>>> 
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "jallib" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>>> an email to [email protected].
>>>>>> To view this discussion on the web visit  
>>>>>> https://groups.google.com/d/msgid/jallib/1697687282.4677348.1618979276333%40mail.yahoo.com.
>>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google Groups 
>>>>> "jallib" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>>> email to [email protected].
>>>>> To view this discussion on the web visit  
>>>>> https://groups.google.com/d/msgid/jallib/CAM%2Bj4qtaBjojssk_HHFK1M2dhhL9CNNf3mygd1F3nH0B5bck9A%40mail.gmail.com.
>>>>> 
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google Groups 
>>>>> "jallib" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>>> email to [email protected].
>>>>> 
>>>> 
>>>> 
>>>> 
>>>>  
>>>>  
>>>>>  To view this discussion on the web visit  
>>>>>https://groups.google.com/d/msgid/jallib/1020737915.4719521.1618983169979%40mail.yahoo.com.
>>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "jallib" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To view this discussion on the web visit  
>>> https://groups.google.com/d/msgid/jallib/22c899b2-b475-404d-9982-fb4e9ffe3169n%40googlegroups.com.
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "jallib" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> 
>> 
>> 
>>  
>>>  To view this discussion on the web visit  
>>>https://groups.google.com/d/msgid/jallib/AM0PR07MB624188EEE1255C4E45C31F80E6479%40AM0PR07MB6241.eurprd07.prod.outlook.com.
>>> 
>> 
>> 
>> 
>> -- 
>> 
>> Vasi
>> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> 
> 
> 
>  
> To view this discussion on the web visit  
> https://groups.google.com/d/msgid/jallib/ad446bf9-5eab-4168-8326-b33f2a02c0f5n%40googlegroups.com.
> 
> 
> 



-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit  
https://groups.google.com/d/msgid/jallib/187dbbf2-8c1b-43c2-ac9b-ce320495f60fn%40googlegroups.com.



-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/AM0PR07MB6241CB67E4CBAE8CFD01D0D0E6449%40AM0PR07MB6241.eurprd07.prod.outlook.com.

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/750024333.366118.1619244373004%40mail.yahoo.com.

Reply via email to