36 lines
931 B
C++
36 lines
931 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;
|
||
|
}
|