Jump to content

    

Serg_el

Свой
  • Content Count

    303
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Serg_el

  • Rank
    Местный

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

2135 profile views
  1. Продам новый прибор. Купил 4 года назад, но не использовал, т.к. поменял сферу деятельности. Сейчас лежит, бесхозный, на полке. http://www.aktakom.ru/kio/index.php?SECTION_ID=538&ELEMENT_ID=42854 Цена на сайте - 68 440,00 руб. Готов отдать за 39999 р.
  2. Спасибо всем, кто прислал резюме и особенно тем, кто лично проходил собеседование. Не все требуемые специалисты еще найдены, так что продолжаю поиск.
  3. Добрый день! Нет вилки зарплаты - вы описываете ваш опыт и ваши зарплатные ожидания. Я сравниваю и, если они совпадают (по моему мнению), то добро пожаловать! Условия работы стандартные: перед сдачей проекта - аврал :)
  4. Добрый день, коллеги-разработчики! В настоящее время, в связи с глобальной реорганизацией, АвтоВАЗ осуществляет поиск специалистов по следующим направлениям: 1) E/E архитектор - разработка архитектуры автомобиля на базе CAN шины; 2) схемотехник – разработка принципиальных электрических схем автомобилей; 3) специалист по жгутам проводов; 4) программист блоков управления (знание MathLab обязательно). Специально не расписываю стандартные требования, т.к. понимаю, что в РФ автоэлектроника мягко говоря не развита и основном ограничена разработкой доп.оборудования и тюнингом в ателье. Поэтому также приветствуются специалисты из смежных областей: авиация, космос, ж/д, морской/речной транспорт и т.п. Разработки принципиальных схем автокомпонентов и трассировки печатных плат здесь не будет. Автопроизводители сейчас в основном занимаются интеграцией, но и здесь объем работ колоссальный и это не менее интересно. Проживание в Тольятти, дистанционная работа не рассматривается. Жилье арендуете из своей зарплаты. Зарплата достойна кандидата. Все, кто заинтересовался, пишите мне в личку информацию о себе (резюме) и зарплатные ожидания. Если подходите под требования, то следующий шаг – это визит в Тольятти для собеседования.
  5. Есть уже такая тема: http://electronix.ru/forum/index.php?showtopic=66748
  6. Спасибо, так оно и есть. Вот и пятница наступила, сразу видно.
  7. Гуру, подскажите, пожалуйста. На плате появился некий объект, который невидим и который я не могу удалить. Он мешает провести трассу через него, а также при заливке полигоном создает незаливаемую поверхность. При переходе в 3D режим выглядит как надпись "0.5mm".
  8. Всем спасибо за комментарии!
  9. Т.е. для CM3 вопрос атомарности возникает только для чтения/записи переменных long long?
  10. Опасаюсь того, что при копировании значения из переменной, которая изменяется в прерывании, в переменную, которая работает только в основном цикле произойдет порча какого-либо регистра и я считаю не то значение. Боюсь этого потому, что нашел в доках, что сохраняются R0-R3, но не нашел, что и другие тоже. Т.е. почему это делает IAR и гарантирует ли он подобные сохранения я не знаю. Вот запрет/разрешение прерываний это гарантирует. __LDREXW и __STREXW тоже гарантирует, но увеличивает время при копировании переменных. Хочу понять можно ли просто скопировать значение без использования обертки? Также хочу понять можно ли какую-либо переменную счетчик таймаута, который уменьшается в прерывании таймера напрямую читать в основной программе, не копируя предварительно. void SysTick_Handler (void) { if (Counter_Timer) { Counter_Timer--; } } int main(void) { while (1) { __disable_irq(); Counter_Timer = 10; __enable_irq(); if (!Counter_Timer) { // Do something } } } Также допустимо ли это в случае, если Counter_Timer - часть сложной структуры?
  11. А что же по поводу сохранения всех регистров, участвующих в копировании в стек? Т.е. я на самом деле провел эксперимент, инкрементировал переменную в прерывании с периодом 40 мкс, в основном цикле считывал ее значение и если разность больше двух, то менял состояние порта. Состояние ни разу не менялось, т.е. переменная "не портилась" при чтении, а ассемблерном коде видно, что участвующие регистры сохраняются и восстанавливаются в прерывании. PS Раньше просто не заморачивался, делал обертку из запрета/разрешения прерывания и все. Но пока не возникла потребность в более частых прерываниях, а переменные, которые надо скопировать, не увеличились в количестве. Про LDREXW знаю и скорее всего буду использовать, главное знать, что это обязательно при чтении без модификации и записи.
  12. Коллеги! Правильно ли я понимаю, что чтение переменной в основном цикле, значение которой изменяется в прерывании, можно считать атомарным? Т.е. к примеру существует структура, элементами которой являются: 1) 32-битная переменная, значение которой меняется через некий интерфейс (UART, CAN и т.п.) - изменяется в прерывании получения пакета; 2) копия этой переменной, значение которой может использоваться в основном цикле как угодно (чтение, запись), но к которой нет доступа из прерываний; 3) 32-битная переменная, значение которой уменьшается до 0 в прерывании таймера (время жизни переменной 1) и устанавливается равной некой константе в прерывании получения пакета; typedef struct { volatile unsigned int Value_int; unsigned int Value; volatile unsigned int Valid_Timer; } RxParameterInfo; В основном цикле, если переменная 3 не равна 0, переменная 2 = переменной 1, иначе = 0. if (Valid_Timer) { Value = Value_int; } else { Value = 0; } Вопрос возник из-за того, что Value = Value_int; состоит из минимум 3х ассемблерных команд. Но как я понимаю при входе в прерывание регистры R0-R2 автоматически сохраняются, а остальные через PUSH. Т.е. мы в итоге не теряем информации об адресах и в результате присваивания в худшем случае в Value мы будем иметь предыдущее значение Value_int. Также интересно, если Value или Value_int - это сложные указатели на структуры и для того, чтобы получить в итоге адрес, нужно несколько ассемблерных команд. Гарантируется ли в это случае компилятором сохранение всех участвующих регистров в стеке?
  13. OKW Soft Case у них есть версия, где одна боковая сторона ИК-прозрачная.
  14. Да, это понятно, что есть варианты обхода, просто удивился, что на такой "опасный" вход ISP повесили вход с отдельным вектором прерывания.
  15. Столкнулся с тем, что у мк LPC1756 объединены EINT0 и вход в ISP (порт 2.10). Получается, что после RESET (по любой причине) и при наличии на входе 0 (а 0 будет давать некий внешний концевик устройства), мк будет входить в ISP режим. Как я понимаю в данном случае можно использовать дополнительный выход мк для того, чтобы управляя транзистором разрешать появление 0 на входе ISP только после того, как внутренний бут загрузчик провел проверку состояния P2.10. Неужели все так усложнено?