aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/Source/d_hispeed.c
diff options
context:
space:
mode:
authorTat-Chee Wan (USM)2011-07-04 08:03:23 +0800
committerTat-Chee Wan (USM)2011-07-04 08:03:23 +0800
commitc10627a2a5a048752d1d8b777ad87a0aca7929c1 (patch)
tree64f27317f1ac30844938fcd5cd7b4da20039bb37 /AT91SAM7S256/Source/d_hispeed.c
parenta307367bdfbadd2ce7516b8a373c52c505c47964 (diff)
parentc331530002825a86f12151266a9772167a3a49ce (diff)
Merge remote branch 'nicolas/jch-merge'
Diffstat (limited to 'AT91SAM7S256/Source/d_hispeed.c')
-rw-r--r--AT91SAM7S256/Source/d_hispeed.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/AT91SAM7S256/Source/d_hispeed.c b/AT91SAM7S256/Source/d_hispeed.c
index 01f2d07..a764492 100644
--- a/AT91SAM7S256/Source/d_hispeed.c
+++ b/AT91SAM7S256/Source/d_hispeed.c
@@ -17,6 +17,25 @@
#include "d_hispeed.h"
#include "d_hispeed.r"
+const ULONG SPEED_TO_BAUD[16] = {
+ 1200L,
+ 2400L,
+ 3600L,
+ 4800L,
+ 7200L,
+ 9600L,
+ 14400L,
+ 19200L,
+ 28800L,
+ 38400L,
+ 57600L,
+ 76800L,
+ 115200L,
+ 230400L,
+ 460800L,
+ BAUD_RATE
+};
+
void dHiSpeedInit(void)
{
HIGHSPEEDInit;
@@ -27,9 +46,10 @@ void dHiSpeedSendData(UBYTE *OutputBuffer, UBYTE BytesToSend)
HIGHSPEEDSendDmaData(OutputBuffer,BytesToSend);
}
-void dHiSpeedSetupUart(void)
+void dHiSpeedSetupUart(UBYTE speed, UWORD mode)
{
- HIGHSPEEDSetupUart;
+ ULONG baud = SPEED_TO_BAUD[speed];
+ HIGHSPEEDSetupUart(baud, ((unsigned int)mode));
}
void dHiSpeedInitReceive(UBYTE *InputBuffer)