Skip to content

Commit

Permalink
Фикс uart: баудрейт мог затираться для платформы МС-ТЮК (#93)
Browse files Browse the repository at this point in the history
* fix uart init (save baudrate in any way)

* add required field 'args'
  • Loading branch information
CodeR-na-r1 authored Dec 25, 2024
1 parent 29ee0b0 commit 20f8592
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 8 deletions.
12 changes: 12 additions & 0 deletions compiler/library/tjc-ms1-btn-a2/1.0/source/UART.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,14 @@ namespace detail {

namespace hal {

bool isUARTInit = false;

// Настройка USART2
// t127 p826 RM0454 // Таблица прерываний UART
INLINE__ STATIC__
void initUART(const uint32_t baudrate) {

isUARTInit = true;

// 1. Включить тактование
#if defined(UART1__)
Expand Down Expand Up @@ -240,6 +244,14 @@ namespace detail {
detail::helper::setReDe(detail::constants::RECEIVE_MODE);
}

void initUartWrapper() {

// Только если пользователь не инициализировал раньше нас
if (isUARTInit == false) {
initUART(9600);
}
}

// Обёртка над setReDe, уменьшающая путаницу (ждём, чтобы модуль UART завершил передачу, затем включаем приём)
// p850 RM0454 - Описание флага TC
void setReDeReceive(void) {
Expand Down
12 changes: 12 additions & 0 deletions compiler/library/tjc-ms1-lmp-a3/1.0/source/UART.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -153,11 +153,15 @@ namespace detail {
}

namespace hal {

bool isUARTInit = false;

// Настройка USART2
// t127 p826 RM0454 // Таблица прерываний UART
INLINE__ STATIC__
void initUART(const uint32_t baudrate) {

isUARTInit = true;

// 1. Включить тактование
#if defined(UART1__)
Expand Down Expand Up @@ -240,6 +244,14 @@ namespace detail {
detail::helper::setReDe(detail::constants::RECEIVE_MODE);
}

void initUartWrapper() {

// Только если пользователь не инициализировал раньше нас
if (isUARTInit == false) {
initUART(9600);
}
}

// Обёртка над setReDe, уменьшающая путаницу (ждём, чтобы модуль UART завершил передачу, затем включаем приём)
// p850 RM0454 - Описание флага TC
void setReDeReceive(void) {
Expand Down
12 changes: 12 additions & 0 deletions compiler/library/tjc-ms1-main-a4/1.0/source/UART.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,14 @@ namespace detail {

namespace hal {

bool isUARTInit = false;

// Настройка USART2
// t127 p826 RM0454 // Таблица прерываний UART
INLINE__ STATIC__
void initUART(const uint32_t baudrate) {

isUARTInit = true;

// 1. Включить тактование
#if defined(UART1__)
Expand Down Expand Up @@ -240,6 +244,14 @@ namespace detail {
detail::helper::setReDe(detail::constants::RECEIVE_MODE);
}

void initUartWrapper() {

// Только если пользователь не инициализировал раньше нас
if (isUARTInit == false) {
initUART(9600);
}
}

// Обёртка над setReDe, уменьшающая путаницу (ждём, чтобы модуль UART завершил передачу, затем включаем приём)
// p850 RM0454 - Описание флага TC
void setReDeReceive(void) {
Expand Down
12 changes: 12 additions & 0 deletions compiler/library/tjc-ms1-mtrx-a2/1.0/source/UART.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,14 @@ namespace detail {

namespace hal {

bool isUARTInit = false;

// Настройка USART2
// t127 p826 RM0454 // Таблица прерываний UART
INLINE__ STATIC__
void initUART(const uint32_t baudrate) {

isUARTInit = true;

// 1. Включить тактование
#if defined(UART1__)
Expand Down Expand Up @@ -240,6 +244,14 @@ namespace detail {
detail::helper::setReDe(detail::constants::RECEIVE_MODE);
}

void initUartWrapper() {

// Только если пользователь не инициализировал раньше нас
if (isUARTInit == false) {
initUART(9600);
}
}

// Обёртка над setReDe, уменьшающая путаницу (ждём, чтобы модуль UART завершил передачу, затем включаем приём)
// p850 RM0454 - Описание флага TC
void setReDeReceive(void) {
Expand Down
4 changes: 2 additions & 2 deletions compiler/platforms/tjc-ms1-btn-a2/1.0/tjc-ms1-btn-a2-1.0.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"staticActionDelimeter": "::",
"defaultSetupFunctions": [
{
"functionName": "detail::hal::initUART",
"args": ["9600"]
"functionName": "detail::hal::initUartWrapper",
"args": []
}
],
"compilingSettings": [
Expand Down
4 changes: 2 additions & 2 deletions compiler/platforms/tjc-ms1-lmp-a3/1.0/tjc-ms1-lmp-a3-1.0.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
"mainFileExtension": "cpp",
"defaultSetupFunctions": [
{
"functionName": "detail::hal::initUART",
"args": ["9600"]
"functionName": "detail::hal::initUartWrapper",
"args": []
}
],
"compilingSettings": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"staticActionDelimeter": "::",
"defaultSetupFunctions": [
{
"functionName": "detail::hal::initUART",
"args": ["9600"]
"functionName": "detail::hal::initUartWrapper",
"args": []
}
],
"compilingSettings": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
"staticActionDelimeter": "::",
"defaultSetupFunctions": [
{
"functionName": "detail::hal::initUART",
"args": ["9600"]
"functionName": "detail::hal::initUartWrapper",
"args": []
}
],
"compilingSettings": [
Expand Down

0 comments on commit 20f8592

Please sign in to comment.