Go to Post we've got three years to perfect it. And then... who knows? - Amanda Morrison [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 23-06-2004, 21:56
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: Using the TTL port

I can tell you more about hardware than software.

The Program port is a standard DCE RS-232 port.

To my knowledge, TTL uses an almost identical format as RS-232, the difference is that it uses different voltages. The wave forms are identical, though.
RS-232 is 1 = -3v to -25v; 0 = 3v to 25v.
TTL is (generally) 1 = 5v; 0 = 0v.

My favorite site on this is Beyond Logic, and Thier serial article.

In the RCs, the Prog port is USART1 in api, the TTL is USART2.

In the MCC18 Libraries Doc (C:\mcc18\doc\MPLAB-C18-Libraries.pdf), the API info can be found in section 2.10 (p. 58). There is probably more info on Microchip's web site, but that's down at the moment.
  #2   Spotlight this post!  
Unread 25-06-2004, 12:44
Gene F's Avatar
Gene F Gene F is offline
FIRST Fanatic
AKA: Gene Falendysz
#0343 (Metal in Motion)
Team Role: Engineer
 
Join Date: Mar 2002
Rookie Year: 2001
Location: Oconee County, SC
Posts: 218
Gene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to beholdGene F is a splendid one to behold
Send a message via AIM to Gene F
Re: Using the TTL port

Astronouth7303,
Here is the code we used to talk to a second micro that was keeping track of our position. It uses the TTL port. The documentation supplied didn't mention setting the port directio registers (See the first couple of lines in the SensorInitializePort() routine). The EDU Bot did it for you but the RC requires that you do it yourself. If you want the source files PM me and I'll email you the files.

Gene F. Team 343 Metal in Motion

AAARRRGGG!!! The tabs all got removed when I posted the code! If anyone needs/wants the actual source code PM me.

#include "ifi_aliases.h"
#include "ifi_default.h"
#include "ifi_utilities.h"
#include "sensors.h"
#include "printf_lib.h"
// Added by Gene
#include <usart.h>
#include "delays.h"

SensorPackType Sensors;

/************************************************** *****************************
* FUNCTION NAME: InitializeSensorPort
* PURPOSE: Opens the serial port 2 for communicating with the scensors at
* 19.2k baud, 8 bits, no parity, one stop bit, and no flow control.
* CALLED FROM: user_routines.c
* ARGUMENTS: none
* RETURNS: void
************************************************** *****************************/
void SensorInitializePort (void)
{
// Set up TX pin as an output and RX as an input.
TRISGbits.TRISG1 = 0;
TRISGbits.TRISG2 = 1;

Open2USART(USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
128);

Delay1KTCYx( 50 ); /* Settling time */
}

/* Code to read Bills device. */
/************************************************** *****************************
* FUNCTION NAME: ReadSensorPack
* PURPOSE: Talks to the sensor pack to read the current data
* CALLED FROM: user_routines.c
* ARGUMENTS: none
* RETURNS: void
************************************************** *****************************/
void SensorPackRead (void)
{
int i, j;
RCSTA2bits.CREN = 1; // Re-enable the receiver
// Send an STX to the sensor pack to tell it to send the data
putc2USART(STX);

// Loop for the number of characters in the sensor pack data
for ( j = 0; j < 8/*sizeof(SensorPackType)*/; j++ )
{
// Wait a finite amount of time for the next character to arrive.
for ( i = 0; i < 2500; i++ )
if ( DataRdy2USART())
break;

// If a character arrived (we didn't timeout)
if ( i != 2500 )
{
// Grab the next charcter from the USART and place it in our data structure
Sensors.chars[j] = getc2USART();
}
else
{
// If it failed then clear any possible errors
RCSTA2bits.CREN = 0; // Disable the receiver
RCSTA2bits.CREN = 1; // Re-enable the receiver
printf("Rx Fail DataRdy = %d\n",(int)DataRdy2USART()); /* printf EXAMPLE */
}
}
RCSTA2bits.CREN = 0; // Disable the receiver
// printf("x=%6d,y=%6d,pe=%6d,dd=%4d,ae=%4d\n", Sensors.LeftOdom, Sensors.RightOdom, Sensors.PosError, (int)(unsigned char)Sensors.DDCompass, (int)( char)Sensors.AngleError );
}

/************************************************** *****************************
* FUNCTION NAME: ensorEnterAutoMode
* PURPOSE: Puts the sensor pack into automatic mode sending the desired x
* and y coordiantes.
* Format of command: A<xl><xl><yl><yh>
* CALLED FROM: user_routines.c
* ARGUMENTS: none
* RETURNS: void
************************************************** *****************************/
void SensorEnterAutoMode (int x, int y)
{
volatile int i;
printf("x=%d y=%d\r",x,y);

while (Busy2USART());
putc2USART('A');
for(i=0;i<1000;i++);
while (Busy2USART());
putc2USART((char)(x & 0xff));
for(i=0;i<1000;i++);
while (Busy2USART());
putc2USART((char)((x >> 8) & 0xff));
for(i=0;i<1000;i++);
while (Busy2USART());
putc2USART((char)(y & 0xff));
for(i=0;i<1000;i++);
while (Busy2USART());
putc2USART((char)((y >> 8) & 0xff));
for(i=0;i<1000;i++);
while (Busy2USART());
putc2USART('\0');
}
__________________
- Gene Falendysz
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Having trouble with TTL port Gene F Programming 12 10-02-2004 15:23
TTL pins Dave... Control System 3 07-02-2004 23:59
Fried program slots? Jeff Waegelin Programming 18 19-03-2003 18:08
Dashreader.dll: A Visual Basic .NET user control to read the dashboard port Ameya Programming 4 12-01-2003 23:40
Change to Initializing Inputs and Outputs Jferrante Programming 4 07-01-2003 11:36


All times are GMT -5. The time now is 23:36.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi