|
|
View previous topic :: View next topic |
Author |
Message |
ketron82
Joined: 07 Jun 2010 Posts: 36
|
|
Posted: Mon Jul 19, 2010 7:35 pm |
|
|
Many thanks for Reply,
I am newbie but I'm learning C for PIC because I have studied only C++ .
I have no hard "due date" for my project but I am interested to this project because I'm radio amateur and this chip is very beautiful and is able to do some thing that I can use in VHF! If I learn how to communicate with it, the rest is quite easy because I have enough experience in RF, HF, VHF, SHF (1.2Ghz - 2.4Ghz - 5Ghz - 10 Ghz)
So....I write in this forum because I have encountred this problem about Serial Bus communication.
I don't want that you must write code for me....It is not beautiful and not good for my learning....!
With your posts I learned a little better the reading of Datasheet and I will go on . Many many thanks for your helps.
I will looking for send ACK command at the end of the i2c_read() function.
Some of my questions are silly but important for me because English datasheet and manual appear for me much complicated even if they are not!
Sorry and many thanks again
Fabio |
|
|
ketron82
Joined: 07 Jun 2010 Posts: 36
|
|
Posted: Sat Jul 24, 2010 2:10 pm |
|
|
Some days ago after some tests I turned on the SI4703. I'm very happy!!
I can controll all function that SI4703 implements.
I have now one problem.
I made some function to control all registers and all go well.
I encounter a problem when I set the INT_RDA interrupt.
I set the RS232 interrupt as I have always done but the program run well until I send string from PC to PIC.
When interrupt begin (I2C is always reading in while(1) loop) the PIC and SI4703 go down.
Int_rda and While(1) loop with i2c_read() are compatible??
Many thanks
Fabio
IZ0CBG |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Sat Jul 24, 2010 4:02 pm |
|
|
Do you have the ERRORS parameter in your #use rs232() statement ?
If not, add it. Example:
Code: | #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, ERRORS) |
This will prevent the UART receiver from locking up if you don't get
the characters from the UART in sufficient time. This could happen
if you disable #int_rda interrupts for too long. With 'ERRORS', you
will still lose characters if you don't get them (using getc or fgetc),
from the UART promptly, but at least the UART won't lock up.
You will still need to fix your program design so that you don't lose
characters. |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|