|
23.08.2017, 18:10 | #1 |
Junior Member
Регистрация: 23.08.2017
Сообщений: 4
Вес репутации: 0 |
А на что это могло повлиять? Давайте вместе подумаем.
По сути, когда мы используем библиотечную функцию, то наша запись в одну строчку (например, delay_ms(10)), заменяется определенной подпрограммой с параметром, которая спрятана в библиотеке. И она нам отрабатывает заданные 10мс. Там это написано по правилам языка Си. Даже если изменилась версия Arduino, эти правила остались прежними. Имена регистров контроллеров Atmel и язык ассемблера, на который все эти операции в конце концов переводятся тоже не изменились. Так что может быть? Может библиотека не правильно подключилась? Но я подключал ее по стандартной процедуре из ZIP-файла. Никаких сообщений об ошибках не возникало и библиотека CyberLib появилась в списке. Интересно, что функции цифровых входов/выходов работают. В этом же примере с мигалкой цифровой выход управляет светодиодом через функцию из CyberLib. Последний раз редактировалось krian; 23.08.2017 в 18:13. |
23.08.2017, 20:28 | #2 |
Junior Member
Регистрация: 23.08.2017
Сообщений: 4
Вес репутации: 0 |
В моем файле CyberLib.h меня насторожили следующие записи:
1. Подключение библиотек. // #include <inttypes.h> // #include <avr/pgmspace.h> // #include <stdint.h> #include <avr/interrupt.h> #include <avr/io.h> #include <avr/eeprom.h> #include <avr/wdt.h> Почему 3 библиотеки отключены? Это так и надо или нет? 2. Функция таймера. //**************Timer1******************** ***** extern void (*func)(); void StartTimer1(void (*isr)(), uint32_t set_us); void StopTimer1(void); void ResumeTimer1(void); void RestartTimer1(void); Почему в параметрах указан тип uint32_t, если таймер 16-разрядный? Куда еще два байта будут записываться? Может мне библиотека недоделанная попалась? |
24.08.2017, 10:23 | #3 | ||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Цитата:
Цитата:
Переменная set_us подвергается математическим преобразовниям |
||
24.08.2017, 10:33 | #4 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Сейчас скачал последнюю ИДЕ и попробовал:
CyberLib работает, а вот на стандартные библиотеки ругается.
__________________
istarik.ru |
24.08.2017, 15:16 | #5 |
Junior Member
Регистрация: 23.08.2017
Сообщений: 4
Вес репутации: 0 |
|
26.08.2017, 13:23 | #6 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Давно уже пользую arduino-1.7.11-linux64, никаких проблем.
__________________
istarik.ru |
04.10.2017, 11:12 | #7 |
Junior Member
Регистрация: 04.10.2017
Сообщений: 1
Вес репутации: 0 |
А для esp8266 не планируется такая библиотека?
|
25.04.2018, 16:00 | #8 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Ардуина какая?
|
25.04.2018, 20:31 | #9 |
Junior Member
Регистрация: 25.04.2018
Сообщений: 2
Вес репутации: 0 |
Mega 2560
IDE 1.8.5 Последний раз редактировалось xtopolx; 25.04.2018 в 20:50. |
29.07.2018, 13:12 | #10 |
Junior Member
Регистрация: 25.07.2018
Сообщений: 1
Вес репутации: 0 |
Нужна помощь, как правильно воспользоваться функцией find_similar? Правильно ли я делаю в Nano, что то не работает. Вот код:
Код:
const int ARRAY_SIZE = 10; int array_A0[ARRAY_SIZE]; int array_A1[ARRAY_SIZE]; for (byte i = 0; i++; i < ARRAY_SIZE){ array_A0[i] = A0_Read; array_A0[i] = A1_Read;} float U1=find_similar(array_A0, 10, 1); float U2=find_similar(array_A1, 10, 1); |
Здесь присутствуют: 21 (пользователей: 0 , гостей: 21) | |
|
|