Subversion Repositories Code-Repo

Rev

Rev 147 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 147 Rev 150
Line 153... Line 153...
153
    TXREG1 = uart_1_data_p->buffer_out[0]; // Put first byte in TSR
153
    TXREG1 = uart_1_data_p->buffer_out[0]; // Put first byte in TSR
154
    TXSTA1bits.TXEN = 1; // Begin transmission
154
    TXSTA1bits.TXEN = 1; // Begin transmission
155
#endif
155
#endif
156
}
156
}
157
 
157
 
-
 
158
void UART1_WriteF(float f, unsigned char m) {
-
 
159
    long whole = 0;
-
 
160
    unsigned long decimal = 0;
-
 
161
    unsigned int multiplier = 1;
-
 
162
    unsigned char i;
-
 
163
 
-
 
164
    for (i = 0; i < m; i++)
-
 
165
        multiplier *= 10;
-
 
166
 
-
 
167
    whole = (long)((float)f);
-
 
168
    decimal = (long)((float)f*multiplier) - whole*multiplier;
-
 
169
    // Round up if necessary
-
 
170
    if ((long)((float)f*multiplier*10) % 10 >= 5)
-
 
171
        decimal += 1;
-
 
172
#ifdef _DEBUG
-
 
173
    sprintf((char *) uart_1_data_p->buffer_out, "%ld.%ld", whole, decimal);
-
 
174
    uart_1_data_p->buffer_out_len = strlen((char *) uart_1_data_p->buffer_out);
-
 
175
    uart_1_data_p->buffer_out_ind = 1;
-
 
176
    for (i = 0; i < uart_1_data_p->buffer_out_len; i++) {
-
 
177
        TXREG1 = uart_1_data_p->buffer_out[i];
-
 
178
        Nop();
-
 
179
        while (!PIR1bits.TX1IF); // Wait for byte to be transmitted
-
 
180
    }
-
 
181
#else
-
 
182
    while (TXSTA1bits.TXEN); // Wait for previous message to finish sending
-
 
183
    sprintf((char *) uart_1_data_p->buffer_out, "%ld.%ld", whole, decimal);
-
 
184
    uart_1_data_p->buffer_out_len = strlen((char *) uart_1_data_p->buffer_out);
-
 
185
    uart_1_data_p->buffer_out_ind = 1;
-
 
186
    TXREG1 = uart_1_data_p->buffer_out[0]; // Put first byte in TSR
-
 
187
    TXSTA1bits.TXEN = 1; // Begin transmission
-
 
188
#endif
-
 
189
}
-
 
190
 
158
void UART1_WriteB(const char *msg, unsigned char length) {
191
void UART1_WriteB(const char *msg, unsigned char length) {
159
    unsigned char i;
192
    unsigned char i;
160
#ifdef _DEBUG
193
#ifdef _DEBUG
161
    for (i = 0; i < length; i++) {
194
    for (i = 0; i < length; i++) {
162
        TXREG1 = msg[i];
195
        TXREG1 = msg[i];