summaryrefslogtreecommitdiff
path: root/FreeRTOS-Plus/Test/CMock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS-Plus/Test/CMock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c')
-rw-r--r--FreeRTOS-Plus/Test/CMock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/FreeRTOS-Plus/Test/CMock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c b/FreeRTOS-Plus/Test/CMock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c
new file mode 100644
index 000000000..f4ad1470f
--- /dev/null
+++ b/FreeRTOS-Plus/Test/CMock/examples/temp_sensor/src/UsartBaudRateRegisterCalculator.c
@@ -0,0 +1,18 @@
+#include "Types.h"
+#include "UsartBaudRateRegisterCalculator.h"
+
+uint8 UsartModel_CalculateBaudRateRegisterSetting(uint32 masterClock, uint32 baudRate)
+{
+ uint32 registerSetting = ((masterClock * 10) / (baudRate * 16));
+
+ if ((registerSetting % 10) >= 5)
+ {
+ registerSetting = (registerSetting / 10) + 1;
+ }
+ else
+ {
+ registerSetting /= 10;
+ }
+
+ return (uint8)registerSetting;
+}