newtx/hardware/uart/uartregsaccess.cpp

41 lines
1017 B
C++
Raw Normal View History

#include "uartregsaccess.h"
#include "serialib.h"
UartRegsAccess::UartRegsAccess(std::string devName, int bauds, int readflag, int writeflag)
: UartRegsAccessB(devName, bauds, readflag, writeflag)
{
}
UartRegsAccess::~UartRegsAccess()
{
}
bool UartRegsAccess::write(unsigned int addr, unsigned int val)
{
unsigned int valt = val;
unsigned char* idata = (unsigned char*)&val;
unsigned char *idatat = (unsigned char *)&valt;
idata[0] = idatat[3];
idata[1] = idatat[2];
idata[2] = idatat[1];
idata[3] = idatat[0];
return UartRegsAccessB::write(addr, val);
}
bool UartRegsAccess::read(unsigned int addr, unsigned int& val)
{
unsigned int valt = 0;
if (UartRegsAccessB::read(addr, valt))
{
unsigned char *idata = (unsigned char *)&val;
unsigned char *idatat = (unsigned char *)&valt;
idata[0] = idatat[3];
idata[1] = idatat[2];
idata[2] = idatat[1];
idata[3] = idatat[0];
return true;
}
return false;
}