aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/Source
diff options
context:
space:
mode:
Diffstat (limited to 'AT91SAM7S256/Source')
-rw-r--r--AT91SAM7S256/Source/c_cmd.c6
-rw-r--r--AT91SAM7S256/Source/c_comm.c1
-rw-r--r--AT91SAM7S256/Source/c_comm.iom3
3 files changed, 6 insertions, 4 deletions
diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c
index 3fc28e4..674960c 100644
--- a/AT91SAM7S256/Source/c_cmd.c
+++ b/AT91SAM7S256/Source/c_cmd.c
@@ -9423,7 +9423,7 @@ NXT_STATUS cCmdWrapCommHSControl(UBYTE * ArgV[])
{
case HS_CTRL_INIT:
{
- // hi-speed init
+ // hi-speed enable/init
pMapComm->HsState = HS_ENABLE;
pMapComm->HsFlags = HS_UPDATE;
}
@@ -9433,7 +9433,7 @@ NXT_STATUS cCmdWrapCommHSControl(UBYTE * ArgV[])
{
// hi-speed setup uart
pMapComm->HsSpeed = *(ArgV[2]);
- pMapComm->HsMode = *(ArgV[3]);
+ pMapComm->HsMode = *(UWORD*)(ArgV[3]);
pMapComm->HsState = HS_INITIALISE;
pMapComm->HsFlags = HS_UPDATE;
}
@@ -9448,7 +9448,7 @@ NXT_STATUS cCmdWrapCommHSControl(UBYTE * ArgV[])
break;
}
- *((UWORD *)ArgV[0]) = pMapComm->HsState;
+ *(ArgV[0]) = pMapComm->HsState;
return (NO_ERR);
}
diff --git a/AT91SAM7S256/Source/c_comm.c b/AT91SAM7S256/Source/c_comm.c
index 1c9db04..1878108 100644
--- a/AT91SAM7S256/Source/c_comm.c
+++ b/AT91SAM7S256/Source/c_comm.c
@@ -271,6 +271,7 @@ void cCommCtrl(void)
case HS_SEND_DATA:
{
cCommSendHiSpeedData();
+ IOMapComm.HsState = HS_DEFAULT; // do not leave this in HS_SEND_DATA state
}
break;
diff --git a/AT91SAM7S256/Source/c_comm.iom b/AT91SAM7S256/Source/c_comm.iom
index 98edff7..367a0db 100644
--- a/AT91SAM7S256/Source/c_comm.iom
+++ b/AT91SAM7S256/Source/c_comm.iom
@@ -72,7 +72,8 @@ enum
HS_INIT_RECEIVER,
HS_SEND_DATA,
HS_DISABLE,
- HS_ENABLE
+ HS_ENABLE,
+ HS_DEFAULT
};
// Constants reffering to hi-speed control syscall function