Same Problem, My problem is even if the XSR is empty and the DXR is ready for
data, once I load the data to DXR there is no transfer to XSR. So no data comes
out. I get the Clock out now. Any ideas? or Source code any of you might have
would be helpful. Maybe I am doing something fundamentally wrong?
Thanks in advance,
Daniel
>I am writing a simple program to test the serial port.
(testing this for >three days now, headache!) On the TMS320VC33.
>
>The code sets the I/O to output mode and turns them on. Then it shuts off all
interrupts. After this it sets up the serial port for a transmit. I want the
DSP to generate the FSX, and CLKX. I have tried many iterations of this code
and settings of these registers but every time I send the write command to load
the DR register. The program hangs and the I/Os stay high. If I comment out the
Load DX line it passes fine and goes to an infinite loop toggling the I/Os which
I can see is the end of my program.
>
>Now I have my scope on the CLKX pin and I cannot see any clocking on that pin.
Does anyone have any ideas for what maybe wrong because I am out of ideas. My
interrupt routines are just empty functions. I have XTINT and XINT enabled but
they shouldn't do anything (ive tried off too)? Is there some bit I have
to toggle to start a send my data word out of DX/XSR?
>
>Thanks in advance.
>
>Daniel Johnson
>
>(CODE BELOW)
>___________________________________________________________
>
> asm(" ldi 22h, IOF ");
> asm(" ldi 66h, IOF ");
>
> ST = 0x0000; /* GIE_bit = 0 */
> IE = 0x00; /* EXINT0_bit,ERINT0_bit = 0 */
>
> sp0-> s_rxt_control = 0x000; //Clears timer control
> sp0-> gcontrol = 0x03FC0046; //Halts serial port
> sp0-> s_x_control = 0x333; //sets up transmit control
> sp0-> s_r_control = 0x111; //sets up recieve control
> sp0-> s_rxt_period = 0x000A; //sets up a slower clock
> sp0-> s_rxt_control = 0x1CF; //sets up timer control
> sp0-> x_data = 0x00000000; //clears the DR register
> sp0-> gcontrol = 0x0FFC0046; //Starts the serial port
>
> sp0-> x_data = 0x84ffffff; //supposed to send my data
>
> asm("loop: ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 26h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" ldi 62h, IOF ");
> asm(" br loop ");
>____________________________________________
>
>_____________________________________
_____________________________________