Перейти к содержанию
    

sunjob

Участник
  • Постов

    123
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о sunjob

  • Звание
    Частый гость
    Частый гость

Посетители профиля

1 673 просмотра профиля
  1. Atmega328 ADC/ИОН/Aref/R32K

    спасибо что ткнули носом! 28.8 ADC Characteristics RREF / Reference Input Resistance / 32 kΩ
  2. Atmega328 ADC/ИОН/Aref/R32K

    день добрый, уважаемые колдуны! :о) есть некоторое непонимание... URL по ссылке говориться про > имеется встроенный резистор 32 кОм, подключенный к выводу AREF упоминание про даный резистор так-же встречал в сети неск. раз в частности, по пункту > 23.5.2 ADC Voltage Reference упоминания о сопротивлении нет возможно не прав, ткните носом, заранее благодарен, спасибо :о)
  3. очевидно... :о) 2-3 предложения? можно ссылки, ключ. слова...
  4. хорошо, сформулируем по другому: что рекомендуете на проект уровня пром-скуд (+/-) с возможными вариациями (на ваш вкус)?!
  5. на данный момент какие у вас фавориты, на что рекомендуетет обратить внимание?! спасибо аналогично, ваши любимые "аналоги", на что обратить внимание (рекомендации)?
  6. али шибко коррупционным стал после покупки "нашими" части бизнеса сам лично сталкивался с "конрафактными" продаванами, имеющими 100% репутацию пишешь отрицательный отзыв - а ... отзыва-то и не публикуется, спрашиваешь в поддержке "че за нафих" - а оне вам с наглой такой улыбкой "а на модерации ваши отзывы" ... и на этом все... вот такие рейтинги :о)
  7. #ifdef __cplusplus extern "C" { #endif static int oldname(int x, int y); static int newname(int x, int y); #ifdef __cplusplus } #endif static int oldname(int x, int y) { return x + y; } static int newname(int x, int y) __attribute__((alias("oldname"))); да, проблему уже решили...(спасибо :о)
  8. день добрей, господа кладуны! :о) исходные следующие - arm-none-eabi - arduino-DUE (платформа) - __attribute__ alias пример-отладка static int oldname(int x, int y) { return x + y; } static int newname(int x, int y) __attribute__((alias("oldname"))); void setup(){;} void loop() {;} согласно url выдает ошибку alias_function:6:12: error: 'int newname(int, int)' aliased to undefined symbol 'oldname' static int newname(int x, int y) __attribute__((alias("oldname"))); ^~~~~~~ exit status 1 первый раз выкрутился препроцессором теперь надо однозначно алиас п.с. спасибо, кидайтесь ... :о)
  9. добрый день исходные: - arm-toolchain (10.3.1, 11.x, 12.2) - arm_gdb-12.1_py3.7 - openocd-0.12.0 - atmel ice (отладчик) - sam3x8e (прототиа arduino-due) - slackware-14.2 x64 отлаживаю "библиотеку" на си - передача данных по 2м проводам (wiegand): - импульс D0 -> получили "0" - импульс D1 -> получили "1" будет использоваться неск. экземпляров RFID-датчиков, поэтому планирую сделать вообще без "механизмов блокировки". в прерывании только устанавливаются флаги, все остальное делается в основном цикле. в силу "обстоятельств" (унаследовано с прототипа) подключение пинов данных D0/D1 - на разных портах (по идее это не проблема, на ардуиновском "тестовом скетче" с таким-же расположением пинов - rfid-карта читается без проблем, но, походу, конечно протестирую еще и "все на одном порту") текущий код на си. читает карту, но с особенностями. к основному номеру карты (в старший разряд) добавляется еденица и последний (младший) разряд, соотв. обрезается. для отладки по шагам вместо "виганда" подключил две кнопки (c rc-цепочкой, сигналы нормальные, дребезг отсутствует, кнопок много, менялись/проверялись) выяснилось (в отладчике): - импульс на D0 - прерывание срабатывает 1 раз и далее все "печенькой" :о) - импульс на D1 - прерывание срабатывает 3 раза 1й раз - все по делу, "на падение сигнала", как и должно быть 2й раз - не по делу, "на подьем" (возвращение кнопки обратно), причем 2раза подряд и еще для "запуток" - при чтении (без отладчика, напрямую) только одна, самая первая, неправильная 1-ца добавляется в начало (в старший разряд) а далее серийник читается правильно. порты D0/D1 инициируются на вход, включается подтяжка, ни чего особенного.код, выкусы (упрощенка) кода: // // структура (выкус) // struct struct_Wiegand { TPinOut d0; // D0 пин TPinOut d1; // D1 пин uint8_t volatile data_flag[2]; // два флага на сработку D0/D1 ... }; typedef struct struct_Wiegand TWiegand; extern TWiegand* lst_rfid[RFID_NUM_DEV]; // список указателей на структуры // // в теле реализации // TWiegand w1={ {PIOA,19}, {PIOC,18}, {PIOA,20}, 0, {0,0}, 0, 0 }; TWiegand* lst_rfid[RFID_NUM_DEV] = { &w1 }; // // регистрация/добавление обработчиков прерываний // механизм/список такой-же как в ардуино // isr_enb_port (lst_rfid[0]->d0.pio, lst_rfid[0]->d0.pin, isr_rfid0_D0, FALLING); // D0 isr_enb_port (lst_rfid[0]->d1.pio, lst_rfid[0]->d1.pin, isr_rfid0_D1, FALLING); // D1 // // обработчики // void isr_rfid0_D0() { lst_rfid[0]->data_flag[0] ++; } void isr_rfid0_D1() { lst_rfid[0]->data_flag[1] ++; } других инициализаций прерываний нет (отрубал все что можно). если закомментировать строку вызова "добавления прерывания" для D1, то прерывание на D1 не срабатывает подобрал ссылки "околотемы" URL1 URL2 URL3 URL4 URL5 URL6 пока буду изучать ссылки, доки, даташит пинайте, кидайте помидоры, идеи, ссылки, все что угодно! можно просто побалагурить по теме! :о) спасибо.
  10. добрый день во время отладки не показывается ничего, связанное с классом так и должно быть или есть куда рыть, чяво настраивать?! в Atmel-Studio/vbox ни каких проблем. p.s. встречал в инете мысли, что это нормально.
×
×
  • Создать...