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

AlexPT

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

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
    Участник
  1. Спасибо Master of Nature за помощь! Заменить компоненты получилось, а значения номиналов сбросились, но их ввести проще чем менять каждый компонент поотдельности.
  2. Вопрос. Как в схеме заменить все элементы одного типа на элементы другого типа из другой библиотеки, например все резисторы 1206 на резисторы 0805?
  3. AT90CAN128

    Большое всем спасибо за помощь. Буду думать дальше.
  4. AT90CAN128

    Здравствуйте! Вопрос по фильтрации принимаемых сообщений. В даташите на микроконтроллер на стр. 243 описана работа фильтра. Если я правильно понимаю, если к примеру я запишу в регистр CANIDM первого канала маску 0x007, а регистр CANIDM второго канала маску 0x0FF, то при приеме сообщения с идентификатором 0x0FF оно может быть принято как фильтром первого так фильтром второго каналов. Если так, то получается, что все сообщения с идентификатором большим 0x007 будут приниматься первым каналом и он будет постоянно загружен. Тогда не понятно в чем смысл такой фильтрации. Нельзя ли так организовать фильтрацию, чтобы первым каналом принимались сообщения с идентификатором в диапазоне 0x007 ... 0x0FE, а вторым каналом сообщения с идентификатором 0x0FF и больше. Или я не верно разобрался с фильтрацией.
  5. Спасибо за совет. С проблемой разобрался. Дело было в том, что часы нужно не только запустить, но записать в них начальное значение, без этого они ходят как попало. Правдо не понятно почему, если я правильно понимаю стоят последовательно соединенные десятичные счетчики, которые считают максимум до 10, но никак не до 16.
  6. Здравствуйте! Есть проблема при работе с часами FM31256. Запустил часы. Работу контролирую на контакте 5 микросхемы. Смотрю по осциллографу - сигнал нормальный, дрожание фазы отсутствует. Измеряю частотомером, сигнал тоже нормальный. Пробывал различные кварцевые резонаторы с емкость нагрузки 7 пФ, 8 пФ и 12,5 пФ результат один. Микроконтроллером раз в секунду считываю информацию из регистров микросхемы, время полная ерунда. Может кто приведет (пришлет) пример программы работы с часами. Может есть какая-нибудь тонкость, которую не учел.
  7. Большое спасибо за подсказку с оптимизацией. Все заработало.
  8. С EEAR = 0 это опечатка. Компилирую с уровнем оптимизации 0. Что такое фюз М103С я не знаю (я только недавно начал работать с WinAVR, так что прошу отнестисть с пониманием), но такого слова в makefile нет. Хотелось бы по подробнее узнать по приведению типа u16 к типу const uint8_t*. Если можно поясните на примере. Приведенный пример попробывал, не работает да он практически не отличается Даташитовского. Может необходима какая-то запись в makefile или .h файлы.
  9. Здравствуйте! Прошу помочь. Нужны функции записи и чтения из/в EEPROM AT90CAN128. Беру примеры из Даташита и компилирую WinAVR, не работают. Преверяю в AVRStudio - не работают. Вот эти функции из Даташита: /********************************* * * ЗАПИСЬ БАЙТА В int-EEPROM * *********************************/ void RTEEPROMwrite (u16 adrEEPROM, u08 databyte) { u08 savedSREG; while(EECR & (1<<EEWE)); savedSREG = SREG // keep setting so it can be restored SREG &= ~0x80; EEAR = adrEEPROM; // set address EEDR = databyte; // set data EECR |= (1<<EEMWE); // set "write enable" bit EECR |= (1<<EEWE); // set "write" bit SREG = savedSREG; // restore SREG EEAR = 0; } // end of RTEEPROMwrite /********************************** * * ЧТЕНИЕ БАЙТА ИЗ int-EEPROM * **********************************/ u08 RTEEPROMread (u16 adrEEPROM) { while(EECR & (1<<EEWE)); EEAR = adrEEPROM; // set address EECR |= (1<<EERE); // set "read enable" bit EEAR = 0; return (EEDR); } // end of RTEEPROMread Хотел использовать функции из библиотеки: uint8_t eeprom_read_byte (const uint8_t *addr); void eeprom_write_byte (uint8_t *addr,uint8_t value); Но не понятно как описать и работать с указателями на ячейки в EEPROM.
  10. Уважаемые фуромчане подскажите пожалуйста, как объявить указатели на ячейки памяти в EEPROM при работе с функциями: uint8_t eeprom_read_byte (const uint8_t *addr); uint16_t eeprom_read_word (const uint16_t *addr); void eeprom_read_block (void *pointer_ram, const void *pointer_eeprom, size_t size); void eeprom_write_byte (uint8_t *addr,uint8_t value); void eeprom_write_word (uint16_t *addr,uint16_t value); void eeprom_write_block (const void *pointer_ram, void *pointer_eeprom, size_t size);
  11. Здравствуйте! Извиняюсь за задержку. Большое Вам спасибо за оказанную помощь.
  12. Здравствуйте! У меня проект состоит из нескольких файлов. Одни и теже константы, которые используются сразу в нескольких файлах и объявленны с помощью директивы препроцессора #define объединил в один .h файл. При компиляции компилятор ругается пишет, что константы не объявлены. Если константы объявляю в каждом файле, то компиляция проходит нормально. Объясните, что я делаю не так. Заранее благодарен.
  13. Здравствуйте! Все понял - всем большое спасибо.
  14. Да, именно об этом и идет речь. Пользователь покупает устройство с GSM модемом, приобретает новую SIM карту, которую, если возможность, необходимо активировать в модеме.
  15. Здравствуйте! Я все это прекрасно понимаю. Просто хотел рассмотреть возможность активации SIM карты без участия пользователя: вставил SIM карту, ввел PIN-код, а дальше все необходимое проделал контроллер.
×
×
  • Создать...