forked from Elron_dev/elbear_arduino_bsp
Добавлена библиотека softSerial. Общий обработчик прерываний, а также некоторые обработчики прерываний конкретных модулей перенесены в память ram
- добавлена библиотека softwareSerial. Скорость работы до 57600 включительно и на отправку, и на прием. - в bootloader добавлена проверка контрольной суммы - добавлен файл wiringLL.h, в котором собраны некоторые макросы. Этими макросами заменены функции в местах, чувствительных к длительности выполнения кода. - общие функции обработки прерываний перенесены в ram память для увеличения скорости выполнения. Так же в память ram перенесены функции обработки прерываний модулей WInterrupt (прерывания от gpio), модуля tone, модуля softwareSerial - добавлен файл-заглушка util/delay.h, необходимый для некоторых библиотек
This commit is contained in:
1 parent
a7468870fc
commit
47c01383e6
26 files changed
+1120
-315
No files matched your search
@@ -309,7 +309,7 @@ void TwoWire::onRequest( void (*function)(void) )
|
||||
}
|
||||
|
||||
// С function for trap handler
|
||||
extern "C" void wire_handler_wrapper(void)
|
||||
extern "C" void __attribute__((optimize("O3"))) wire_interrupt_handler(void)
|
||||
{
|
||||
twi_interruptHandler();
|
||||
}
|
||||
|
||||
@@ -323,7 +323,7 @@ void twi_attachSlaveTxEvent( void (*function)(void) )
|
||||
* Input none
|
||||
* Output none
|
||||
*/
|
||||
void twi_interruptHandler(void)
|
||||
void __attribute__((optimize("O3"))) twi_interruptHandler(void)
|
||||
{
|
||||
uint32_t int_mask = HAL_I2C_Get_CR1_Content(&hi2c) & I2C_INTMASK; // interrupts allowed
|
||||
uint32_t interrupt_status = HAL_I2C_Get_Interrupts_Status(&hi2c); // current flags
|
||||
|
||||
Reference in new issue
Block a user