пре-инициализация вынесена в SystemInit(), чтобы все действия выполнялись до инициализации конструкторов, иначе при глобальном объявлении объектов со сложными конструкторами могут возникнуть проблемы

This commit is contained in:
KLASSENTS 2025-01-15 16:23:29 +07:00
parent 05e35b3d5a
commit 4d18916f5c
4 changed files with 4 additions and 5 deletions

View File

@ -88,6 +88,7 @@
|[Adafruit_ILI9341](https://docs.arduino.cc/libraries/adafruit-ili9341/)|Библиотека для работы с дисплеем Adafruit ILI9341| |[Adafruit_ILI9341](https://docs.arduino.cc/libraries/adafruit-ili9341/)|Библиотека для работы с дисплеем Adafruit ILI9341|
|[TFT](https://docs.arduino.cc/libraries/tft/)|Графическая библиотека, совместимая с большинством TFT-дисплеев на базе чипа ST7735| |[TFT](https://docs.arduino.cc/libraries/tft/)|Графическая библиотека, совместимая с большинством TFT-дисплеев на базе чипа ST7735|
|[Adafruit_TCS34725](https://docs.arduino.cc/libraries/adafruit-tcs34725/)|Библиотека для работы с датчиком цвета с ИК-фильтром TCS34725| |[Adafruit_TCS34725](https://docs.arduino.cc/libraries/adafruit-tcs34725/)|Библиотека для работы с датчиком цвета с ИК-фильтром TCS34725|
|[DS18B20](https://docs.arduino.cc/libraries/ds18b20/)|Библиотека для работы с однопроводным датчиком температуры Maxim Integrated DS18B20|
# Полезные ссылки # Полезные ссылки

View File

@ -4,8 +4,8 @@
#include "Arduino.h" #include "Arduino.h"
// --------------------- init --------------------- // // --------------------- init --------------------- //
// called before setup() // called from crt0.S before constructors initialization
void pre_init(void) extern "C" void SystemInit(void)
{ {
// set irq vector to ram region // set irq vector to ram region
write_csr(mtvec, 0x02000000); write_csr(mtvec, 0x02000000);

View File

@ -5,8 +5,7 @@ extern volatile bool use_error_messages;
#define DISABLE_ERROR_MESSAGES() (use_error_messages = false) #define DISABLE_ERROR_MESSAGES() (use_error_messages = false)
#define ENABLE_ERROR_MESSAGES() (use_error_messages = true) #define ENABLE_ERROR_MESSAGES() (use_error_messages = true)
// functions for init called before and after setup() // function for init called after setup()
void pre_init(void) ;
void post_init(void); void post_init(void);
#endif /* _BOARD_H_ */ #endif /* _BOARD_H_ */

View File

@ -4,7 +4,6 @@
int main() int main()
{ {
pre_init();
setup(); setup();
post_init(); post_init();