![]() |
|
![]() |
#1 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Таймеры на ардуине меге в библиотеке не работают
Библиотека полноценно работает только с ATmega328 |
![]() |
![]() |
![]() |
#2 |
Junior Member
Регистрация: 03.08.2016
Сообщений: 5
Вес репутации: 0 ![]() |
![]()
По дефолту для SS настраивается 8 пин?
Возможна ли настройка нескольких контактов SS для работы с различными SPI устройствами? Перечитал всю тему, ответа не нашел. Заранее благодарен! upd. Платформа Uno R3 с Atmega 328. |
![]() |
![]() |
![]() |
#3 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,617
Вес репутации: 9822 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Junior Member
Регистрация: 03.08.2016
Сообщений: 5
Вес репутации: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#5 |
Junior Member
Регистрация: 14.01.2017
Сообщений: 10
Вес репутации: 0 ![]() |
![]()
Дорогой о великий создатель блюотеки cyberlib.h никак не могу воспользоваться твоей волшебной функцией find_similar. Мой ардуин ругается на любое упоминание про find_similar. Подскажи пжта алгоритм функции.
Ответ таков: Функшин find_similar воз нот дикларед )))))))) (какникрути и блюотека прописана и массивы обозначены, еще и с размерами)))))))). Все как в примерах Моя есть: - ардуина мега на 2560 - стоит сенсор шилд на ней (это не важдно) - скетч льется чз "по ардуино 1.8.1" и ругает только "find similar", а остальное проглатывает. Последний раз редактировалось Алексей_Far; 14.01.2017 в 21:47. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Ваш ардуин прав: для 2560 в библиотеке "Функшин find_similar воз нот дикларед" - не писал никто её
|
![]() |
![]() |
![]() |
#7 |
Junior Member
Регистрация: 14.01.2017
Сообщений: 10
Вес репутации: 0 ![]() |
![]()
На сколько сложно эту функцию адаптировать под мою мегу?
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
несложно, я так понимаю аппаратные средства там не используются, надо просто в .H и .CPP скопировать соответствующие разделы из 328 процессора в 2560. У меня чет IDE глюкнуло, проверить не могу. Постучи админу если сам не можешь.
|
![]() |
![]() |
![]() |
#9 |
Member
Регистрация: 16.11.2013
Сообщений: 32
Вес репутации: 0 ![]() |
![]()
шо же мы делаем? :о)
Развернуть для просмотраКод:
#define A0_Read (AnRead(B01000000)) #define A1_Read (AnRead(B01000001)) #define A2_Read (AnRead(B01000010)) #define A3_Read (AnRead(B01000011)) #define A4_Read (AnRead(B01000100)) #define A5_Read (AnRead(B01000101)) #define A6_Read (AnRead(B01000110)) #define A7_Read (AnRead(B01000111)) uint16_t AnRead(uint8_t An_pin) { ADMUX = An_pin; ... } [свернуть] мать моя женчина!!! принудительное выставление Aref/ИОН-а на DEFAULT я чуть не рехнулся, когда до этого дорыл, не мог понять, что у меня за капец ... ну да ладно... нельзя же так делать!!! ...не, конечно, ни кто нам не запретит..., ну давайте минимизировать хотя бы предполагаемые разрушения от возможного ядерного взрыва, а?! p.s. для себя рихтанул "примерно так" (при быстром "набеге" на тесте и текущем проекте - работает), ну а далее смотрим сами ... все имхо, удачных гонок! Развернуть для просмотраКод:
// // CyberLib.h // uint16_t AnRead(uint8_t pin); #define A0_Read (AnRead(B000)) #define A1_Read (AnRead(B001)) #define A2_Read (AnRead(B010)) #define A3_Read (AnRead(B011)) #define A4_Read (AnRead(B100)) #define A5_Read (AnRead(B101)) #define A6_Read (AnRead(B110)) #define A7_Read (AnRead(B111)) #define ADC_AREF_EXTERNAL 0 #define ADC_AREF_DEFAULT 1 #define ADC_AREF_INTERNAL 3 #define ADC_K_2 B001 // 8 MHz #define ADC_K_4 B010 // 4 MHz #define ADC_K_8 B011 // 2 MHz #define ADC_K_16 B100 // 1 MHz #define ADC_K_32 B101 // 500 kHz #define ADC_K_64 B110 // 250 kHz #define ADC_K_128 B111 // 125 kHz struct { uint8_t ref = ADC_AREF_DEFAULT; uint8_t k = ADC_K_128; } adc; void adc_set_ref(uint8_t ref); void adc_set_k (uint8_t k ); // // CyberLib.cpp // //////////////////////////////////////////////////////////////////////////////// uint16_t AnRead(uint8_t pin) //////////////////////////////////////////////////////////////////////////////// { uint16_t adch; ADMUX = (adc.ref << REFS0) | (pin); delay_us(10); // // старшие два бита ADEN & ADSC // младшие три бита - это как раз и есть предделитель // ADCSRA = (1<<ADEN | 1<<ADSC | adc.k); while (ADCSRA & (1 << ADSC)); pin = ADCL; adch = ADCH; return (adch<<8) + pin; } //////////////////////////////////////////////////////////////////////////////// void adc_set_ref(uint8_t ref) //////////////////////////////////////////////////////////////////////////////// { adc.ref = ref; ADMUX = (ADMUX & (B00<<REFS0)) | (adc.ref << REFS0); } //////////////////////////////////////////////////////////////////////////////// void adc_set_k(uint8_t k) //////////////////////////////////////////////////////////////////////////////// { adc.k = k; ADCSRA = (ADCSRA & B000) | adc.k; } //////////////////////////////////////////////////////////////////////////////// [свернуть] Последний раз редактировалось sunjob; 21.03.2017 в 15:03. |
![]() |
![]() |
![]() |
#10 |
Junior Member
Регистрация: 07.03.2017
Сообщений: 1
Вес репутации: 0 ![]() |
![]()
Добрый день! Огромная благодарность за данную библиотеку! Мой проект реализован на 328 камне, но в будущем, ввиду отсутствия необходимости в таком количестве выводов, буду переходить на attiny85. Подскажите в каком направлении двигаться при изменении библиотеки, так как особого опыта в изменении библиотек не имею?
|
![]() |
![]() |
![]() |
Здесь присутствуют: 229 (пользователей: 0 , гостей: 229) | |
|
|