diff --git a/se/sics/mspsim/core/USART.java b/se/sics/mspsim/core/USART.java index 19ced46..7903582 100644 --- a/se/sics/mspsim/core/USART.java +++ b/se/sics/mspsim/core/USART.java @@ -266,12 +266,14 @@ public class USART extends IOUnit { } if (clockSource == MSP430Constants.CLK_ACLK) { if (DEBUG) { - System.out.println(getName() + " Baud rate is: " + cpu.aclkFrq / div); + System.out.println(getName() + " Baud rate is (bps): " + cpu.aclkFrq / div + + " div = " + div); } baudRate = cpu.aclkFrq / div; } else { - if (DEBUG) { - System.out.println(getName() + " Baud rate is: " + cpu.smclkFrq / div); + if (DEBUG) { + System.out.println(getName() + " Baud rate is (bps): " + cpu.smclkFrq / div + + " div = " + div); } baudRate = cpu.smclkFrq / div; } @@ -298,7 +300,7 @@ public class USART extends IOUnit { // This should be used to delay the output of the USART down to the // baudrate! public long ioTick(long cycles) { - if (nextTXReady != -1 && cycles > nextTXReady) { + if (nextTXReady != -1 && cycles >= nextTXReady) { // Ready to transmit new byte! setBitIFG(utxifg); diff --git a/se/sics/mspsim/platform/esb/ESBGui.java b/se/sics/mspsim/platform/esb/ESBGui.java index f3f1f32..6ff5b8d 100644 --- a/se/sics/mspsim/platform/esb/ESBGui.java +++ b/se/sics/mspsim/platform/esb/ESBGui.java @@ -248,7 +248,6 @@ public class ESBGui extends JComponent implements KeyListener, } public void keyPressed(KeyEvent key) { -// System.out.println("Key Pressed: " + key.getKeyChar()); if (key.getKeyChar() == 'd') { node.setDebug(!node.getDebug()); } diff --git a/tests/cputest.c b/tests/cputest.c index 2bfac5f..9ed1489 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -284,6 +284,8 @@ static void testUSART() { static void testTimer() { int i; + unsigned int time; + int result; pos = 0; dint(); /* Select SMCLK (2.4576MHz), clear TAR; This makes the rtimer count @@ -316,6 +318,15 @@ static void testTimer() { printf("Trigg time %d => %u\n", i + 1, times[i]); assertTrue(times[i] >= t && times[i] < t + 2); } + + printf("Start modulo\n",time = TBR); + result = 47; + for (i = 0; i < 1000; i++) { + result = result + i % 27; + } + printf("Elapsed %i %i\n",TBR - time, result); + + } /*--------------------------------------------------------------------------*/