Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - kondrag_X1

#11
montar dos microcontroladores con comunicación modbus rs232 rtu uno de maestro y otro de esclavo.
#12
Gracias furciorita pero estoy trabajando en un microcontrolador y para mi uso no es necesario.
#13
MAFUS muchísimas gracias por contestar acabo de ver el problema yo también pensaba que necesitaba extern pero no si te fijas bien en el .h la declaración void mBInit(....) le falta el punto y coma.

demasiadas horas delante del ordenador programando.
#14
Hola estoy intentando hacer la implementación del modbus en c y no sé porque me dice que los métodos no reconocen las variables globales ni los prototipos de las funciones y no sé porque.

MBSlave.cpp

#include "MBSlave.h"

UCHAR mFrame[BUFFER_SIZE];
UINT mHoldingRegsSize;
UINT   *mRegs;
UCHAR   mBroadcastFlag;
UCHAR mSlaveID;
UCHAR mFunction;
UINT errorCount;
UINT    T1_5; //inter character time out
UINT    T3_5; //frame delay
Serial  *MBPort;

// function definitions
void exceptionResponse(UCHAR exception);
UINT calculateCRC(UCHAR bufferSize);
void sendPacket(UCHAR bufferSize);

void
mBInit( Serial *SerialPort,
int    baud,
UCHAR _slaveID,
UINT  _holdingRegsSize,
            UINT  *_regs)
{
//implementación
}
metodos de las funciones.


MBSlave.h

#ifndef MBSlave_H
#define MBSlave_H

//definitions of types
typedef unsigned char UCHAR;
typedef unsigned int  UINT;

#include "mbed.h"

#define BUFFER_SIZE    64
#define MBdebug         1 
UINT mBPoll( void );
void mBInit(Serial *SerialPort,
            int    baud,
            UCHAR _slaveID,
            UINT  _holdingRegsSize,
            UINT  *_regs)
#endif
#15
y porque no utilizas %n.mf para decir el numero de decimales que quieres?

por ejemplo
printf("%n.mf",numero);

n -> indica la cantidad de números por delante de la coma
m -> la cantidad de números por detrás de la coma.
así tu número 12,123
printf("parte entera   : %4.0f",numero); 12
printf("parte decimal : %0.4f",numero); 123
#16
ok, gracias a todos yo reservaba memoria siempre que recibía un paquete cuando programa servidores y clientes en C.
#17
y cuando es necesario? siempre he tenido esa duda
#18
Una pregunta

Para evitar esos problemas se usa malloc reservando y posteriormente liberando la memoria, verdad?
#19
muy bueno tenia en mente hacer algo parecido. Le echaré un ojo.  ;-)
#20
Programación General / Bucles infinitos.
17 Diciembre 2015, 19:24 PM
 ::)

Alguno sabe la diferencia entre for( ;; ) y while(1)??