36 lines
927 B
C++
36 lines
927 B
C++
#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;
|
|
for(int i = 0; i < 4; i++)
|
|
idata[3 - i] = idatat[i];
|
|
|
|
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;
|
|
for (int i = 0; i < 4; i++)
|
|
idata[3 - i] = idatat[i];
|
|
return true;
|
|
}
|
|
return false;
|
|
} |