aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/Source/d_hispeed.c
diff options
context:
space:
mode:
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)