forked from Elron_dev/elbear_arduino_bsp
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b87753674 | ||
|
|
979a5ea9ae | ||
|
|
2e8482323c |
No files matched your search
@@ -47,7 +47,7 @@
|
||||
### Serial
|
||||
Для работы доступно два последовательных интерфейса. Нулевой интерфейс доступен на выводах D0, D1, для работы с ним используется экземпляр класса под названием `Serial`. Нулевой интерфейс используется для вывода информации в Монитор порта в Arduino IDE.
|
||||
Первый интерфейс доступен на выводах D7, D8, используемый экземпляр класса - `Serial1`.
|
||||
Доступны следующие настройки режима работы каждого интерфейса: длина данных - 7 или 8 бит; бит четности - нет, четный, нечетный; стоп бит - 1 или 2 бита.
|
||||
Доступны следующие макросы для настройки режима работы каждого интерфейса в функции `Serial.begin()`: `SERIAL_7N1`, `SERIAL_8N1`, `SERIAL_7N2`, `SERIAL_8N2`, `SERIAL_7E1`, `SERIAL_8E1`, `SERIAL_7E2`, `SERIAL_8E2`, `SERIAL_7O1`, `SERIAL_8O1`, `SERIAL_7O2`, `SERIAL_8O2`. Здесь длина данных - 7 или 8 бит; бит четности - нет(N), четный(E), нечетный(O); стоп бит - 1 или 2 бита.
|
||||
|
||||
### Предупреждения об ошибках
|
||||
Если в скетче используется интерфейс `Serial`, при возникновении ошибок при использовании какой-либо функции из пакета в порт может передаваться сообщение об этой ошибке с пояснением. Например, если в функцию будет передан некорректный номер цифрового вывода, предупреждение об этом появится в подключенном com порту.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "mik32_hal_irq.h"
|
||||
#include "wiring_LL.h"
|
||||
#include "mik32_hal_irq.h"
|
||||
#include "wiring_LL.h"
|
||||
|
||||
// isr functions
|
||||
extern void serial_interrupt_handler(uint8_t uartNumInt);
|
||||
@@ -11,12 +11,34 @@ void __attribute__((weak)) wire_interrupt_handler(void)
|
||||
}
|
||||
void __attribute__((weak)) servo_interrupt_handler(void)
|
||||
{
|
||||
// dummy function for case when wire library is not in use
|
||||
// dummy function for case when servo library is not in use
|
||||
}
|
||||
void __attribute__((weak)) ISR(void)
|
||||
{
|
||||
/* A dummy function for the case when additional interrupts are not used in the project.
|
||||
In the project, you need to create a function of the form:
|
||||
extern "C" void ISR(void)
|
||||
{
|
||||
// timer16 is taken as an example
|
||||
if (TIM16_GET_ARRM_INT_STATUS(htimer16_1_))
|
||||
{
|
||||
// necessary actions
|
||||
}
|
||||
// reset timer interrupt flags
|
||||
TIM16_CLEAR_INT_MASK(htimer16_1_, 0xFFFFFFFF);
|
||||
}
|
||||
before that, be sure to connect the libraries:
|
||||
#include "mik32_hal_timer16.h"
|
||||
#include "mik32_hal_irq.h"
|
||||
#include "wiring_LL.h" */
|
||||
}
|
||||
|
||||
// ---------------------------------------------- //
|
||||
void __attribute__((noinline, section(".ram_text"), optimize("O3"))) trap_handler (void)
|
||||
void __attribute__((noinline, section(".ram_text"), optimize("O3"))) trap_handler (void)
|
||||
{
|
||||
// all interrupts
|
||||
ISR();
|
||||
|
||||
// gpio interrupt
|
||||
if (EPIC_CHECK_GPIO_IRQ())
|
||||
gpio_interrupt_handler();
|
||||
@@ -36,7 +58,7 @@ void __attribute__((noinline, section(".ram_text"), optimize("O3"))) trap_handle
|
||||
// uart1 interrupt
|
||||
if (EPIC_CHECK_UART_1())
|
||||
serial_interrupt_handler(1);
|
||||
|
||||
|
||||
// i2c interrupt
|
||||
if (EPIC_CHECK_I2C_1())
|
||||
wire_interrupt_handler();
|
||||
|
||||
@@ -87,3 +87,4 @@ tools.mik32_upload.bootloader.params.quiet=
|
||||
|
||||
# For Sketch > Upload Using Programmer
|
||||
tools.mik32_upload.program.pattern={path}/{cmd} {build.path}/{build.project_name}.hex --run-openocd --openocd-exec={runtime.tools.openocd.path}/bin/openocd{cmd.extension} --openocd-interface={path}/openocd-scripts/interface/ftdi/mikron-link.cfg --openocd-target={path}/openocd-scripts/target/mik32.cfg
|
||||
tools.mik32_upload.program.params.quiet=
|
||||
Reference in new issue
Block a user