Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: analog10/UART_DCO_Calibrator
base: f4c9e63691
head fork: analog10/UART_DCO_Calibrator
compare: bfbb4bf923
Checking mergeability… Don't worry, you can still create the pull request.
  • 2 commits
  • 2 files changed
  • 0 commit comments
  • 1 contributor
Showing with 33 additions and 1 deletion.
  1. +32 −0 README
  2. +1 −1  main.c
@@ -1,5 +1,36 @@
When your micro's main clock frequency is software configurable, why not set it exactly to what you want?
+By default, this will determine the constants for 16MHz.
+1) Download, extract, etc and run make. If this does not work, check that the requirements are fulfilled.
+2) Flash the program to your chip, something like (for the LaunchPad)
+mspdebug rf2500 'prog UART_CALIBRATION.elf'
+3) Run the host calibration program
+4) You will see a long stream of characters. See the source for details.
+At the end you will see the DCO and BCSCTL1 constants printed.
+5) If you want to recalibrate, reset your micro via a reset button or
+mspdebug rf2500 'reset'
+and run step 3 again.
This is a combination of two programs, one on the host, and one on the micro, that communicate to each other to get the DCO to a target frequency.
Supported host hardware:
@@ -15,4 +46,5 @@ This work is based on goldilocks.cpp from Rick Kimball's fabooh project
Please see source files.
2  main.c
@@ -8,7 +8,7 @@
-#define TARGET_FREQUENCY 15964200L
+#define TARGET_FREQUENCY 16000000L
/* The loop takes 4 cycles per iteration, so divide delay by 4. */

No commit comments for this range

Something went wrong with that request. Please try again.