- Интересная шняга от Cypress - Non-Volatile SRAM -> Комбинация SRAM и какой-то штуковины 0.13-micron SONOS (Silicon Oxide Nitride Oxide Silicon) embedded non-volatile memory. Есть SPI варианты 40 Мгц 1Мбит. - Evgeny_CD(06.05.2010 21:24, MCU, ссылка, полностью)
- Как проще измерять действующее значение переменного напряжения от 0,01 до 2В и частоту сигнала в диапазоне от от 0 до 2000 Гц и передавать через гальваническую развязку? AU08(798 знак., 05.05.2010 16:27 - 16:31, MCU, полностью)
- 2 Mazur: пример автомата для реализации слэйва по интерфейсу RS485. Vladimir Ljaschko(3169 знак., 06.05.2010 11:04, MCU, полностью)
- Поиск альтернативы дисплеям на SED1335 mareng(579 знак., 05.05.2010 15:23, MCU, полностью)
- А расскажите плз про volatile, не понимаю :( Vladimir Ljaschko(734 знак., 30.04.2010 12:13, MCU, полностью)
- Тут проще можно.. Рэйлвэй Каген(470 знак., 30.04.2010 20:57)
- а нынешние компилеры поддерживают что-то типа gcc-шного asm volatile ("":::"memory") , чтобы задать порядок обращений? ыыыы(21 знак., 30.04.2010 19:04,
)
- Очень просто. Чтение volatile-переменных может иметь побочные эффекты. Cepгeй Бopщ(666 знак., 30.04.2010 18:49)
- Да всё так делаешь ! Просто IAR тебя предупреждает о том что не определён порядок доступа к этим переменным, т.е. ему не сказано что раньше из RAM вытаскивать переменную A или переменную B, и если это для алгоритма не критично то на этот warning можно =MIV=(64 знак., 30.04.2010 13:43,
)
- Для описанного случая не видно необходимости использовать модификатор volatile - VVB_(30.04.2010 13:17,
)
- Не факт, должны быть volatile только если снаружи они проверяются в цикле, в одной функции (чтоб компилятор каждый раз проверял, а не оптимизировал этот процесс). Кроме того, если доступ к переменной не атомарный -- НУЖНЫ КРИТИЧЕСКИЕ СЕКЦИИ для чтения и fk0(41 знак., 30.04.2010 12:59)
- Volatile для компилятора - чтобы не пытался заоптимизировать че-нить. А вот за целостностью этой переменной надо уже "ручками" следить, если она бОльшей разрядности, чем может обработать процессор "за один присест". О чем вероятно и предупреждает Гудвин(95 знак., 30.04.2010 12:28)
- Все так. Чтобы избавиться от сообщения простое правило - в одной формуле не более 1-й volatile переменной. Достигается вводом временных промежуточных переменных. - Михаил Е.(30.04.2010 12:22 - 12:25)
- Нужен стандарт CANOpen DS302, DS311. Скачать с CIA не получилось, хотя заполнял форму, отсылал, но без ответа. Может у кого есть? - Guintter(05.05.2010 12:32,
, MCU, полностью)
- Всем привет! Хотелось бы узнать у начавших работать с STM8 (если таковые имеются) Bill(43 знак., 27.04.2010 21:02, MCU, полностью)MBedder
- Враг в кармане - General(03.05.2010 18:06, MCU, ссылка, полностью)
- У кого есть orcad? Поможите перевести схемки в pdf. Или подскажите простенький просмотрщик orcad схем. - ++(28.04.2010 10:33, MCU, ссылка, полностью)
- Алгоритм защиты механики по току двигателя - как надежно обнаружить столкновение с препятствием, не свалившись в аварию при старте? Vladimir Ljaschko(360 знак., 27.04.2010 11:05, MCU, полностью)
- Видимо пиковый ток определяется компаратором, в этом случае добиться режима ограничения тока можно так. DL36(274 знак., 27.04.2010 23:32)
- Если редуктор имеет некий люфт, то имеет смысл его выбрать. DL36(144 знак., 27.04.2010 22:53)
- Какая может быть авария при таких мощностях? AlexandrY(287 знак., 27.04.2010 19:03)
- Механику изменять нельзя? Муфту какую поставить. - amusin(27.04.2010 12:35)
- А просто ограничить момент (ток) на безопасном уровне не проходит? Хотя бы на время старта. - NGK(27.04.2010 12:16 - 12:22)
- Ну первое, что приходит в голову - при старте блокировать защиту или повышать порог. Второе, что приходит в голову - отслеживать динамику, при наезде на препятствие бросок будет резкий. - Shura из дома(27.04.2010 11:15,
)
- имхо что при старте, что при наезде бросок будет одинаковый, тупо ток через резистивное сопротивление обмотки. В стеклоподъемниках тупо защита при старте блокируется. - Alex B.(27.04.2010 11:26)
- Значит в стеклоподъемниках полная мощность в заблокированном состоянии не приводит к поломке, а у нас, раз у нас ломает, перебор мощности. Заказчику очень хотелось поднимать тело быстро. - Vladimir Ljaschko(27.04.2010 11:34)
- контролировать примерное положение вала по импульсам со щеток? если недалеко от упора - стартовать с низкой мощности. - Alex B.(27.04.2010 12:03)
- Контроль положения есть "по богатому" - по два датчика Холла на мотор, и известные точки столкновений обходятся. Речь идет о неизвестных - например, кровать задвинули под подоконник или сел кто-то еще. - Vladimir Ljaschko(27.04.2010 12:14)
- Понял, туплю. А что мешает стартовать с низкой мощности? момента не хватит, или что? - Alex B.(27.04.2010 12:18)
- Угу. Формально так и делается, т.к. требуется софт-старт, но при большой нагрузке дилемма - то ли добавлять мощность, чтобы начать поднимать, то ли убавлять мощность, сделав вывод, что наткнулись на препятствие. Получается, что без запаса по мгновенной Vladimir Ljaschko(91 знак., 27.04.2010 12:26)
- стартуй импульсами полной мощности и гарантированной длительности при которой во-первых, успеешь отследить есть движение или нету и во-вторых, не сломать редуктор, если двигаться некуда. а вообще тут надо что-то поменять. движок ни при каком раскладе не LordN(68 знак., 27.04.2010 18:50)
- p.s. есть еще такой метод - стартуют туда-сюда, также импульсами полной мощности, так определяют есть упор при старте или еще нету. - LordN(27.04.2010 18:53)
- Во, тоже хотел похожее написать. Аналогия-представим штангиста, он еще не знает, поднимет штангу или нет. Он к ней подошел, взялся за нее, попробовал поднять. Дальше варианты, если понял, что не потянет, опустил ее. Если еще не понял, пробует дальше. А mazur(152 знак., 27.04.2010 23:09)
- А тело возражать не будет? ;-) - Shura из дома(27.04.2010 11:38,
)
- Да, при старте всё равно чего-то придётся мутить - Shura из дома(27.04.2010 11:32,
)
- подскажите как расположить переменную по заданному адресу в ОЗУ? с++, iar - zx_(26.04.2010 14:26 - 14:32, MCU, полностью)MBedder
- Как относитесь к функциям с переменным числом параметров? С одной стороны удобно, с другой - не безопасно... - Alex B.(15.04.2010 19:12, MCU, полностью)
- Я использую для вывода голоса ещё более страшную штуку. Вроде printf, но каждый "символ" -- это отдельный АРГУМЕНТ: либо сообщение (голосом), либо формат, за которым отдельным аргументом следуют "параметры". Соответственно аргументов у функции может fk0(200 знак., 18.04.2010 23:50)
- Жизнь показывает, что printf() - это хорошо. Если надо будет сделать что-то в духе printf() - колебаться не буду. Ну а других применений из своего опыта не вижу. - SciFi(17.04.2010 04:12)
- Как менее опасную альтернативу, и без накладных расходов использую функции с дефолтными значениями. Даже удобнее - можно написать func(12,"abc",,0,2) - maik_vs(16.04.2010 18:48,
)
- printf() опасаетесь? - ++(16.04.2010 18:13)
- Нормально. Функции как функции. Ну, а программировать вообще не безопасно. - BK(16.04.2010 17:56,
)
- Это всего лишь альтернатива массиву (небольшому, как правило) из методов с фиксированным количеством параметров. Требует на мой взгляд аккуратности со стороны программиста, не более. Добавляет накладные расходы на идентификацию параметров. Создает Хитрый китаец(26 знак., 16.04.2010 14:49,
)
- Какие накладные расходы, вы о чем? Разбор полностью аналогичен тому, когда параметры передаются в функцию через стек. И это не альтернатива. Просто надоело сущности множить. Alex B.(468 знак., 16.04.2010 15:49)
- Это дело вкуса и личных предпочтений разбиения ПО на модули: писать LedCommand( 3,2,1 ), UartCommand( 10 ) или per_command( .. ), внутри которого switch(), внутри которого разбираются параметры. Я это имею в виду под накладными расходами, может они Хитрый китаец(25 знак., 17.04.2010 00:45,
)
- А кто будет отслеживать кол-во переданных параметров? Рантайм? Не гуд. У меня это просто LED(9,4,5,10) и UART(10). У Вас константы, у меня макросы. Но с проверкой на этапе компиляции. - Скрипач(16.04.2010 16:41)
- Профессионалы не используют функцию с переменным числом аргументов, не используют библиотечных функций, не используют C99, zero size arrays, макросы с переменным числом аргументов тоже не используют, ну и конечно goto и longjmp тоже не использют. А fk0(73 знак., 16.04.2010 16:31)
- хочется, но колется. - bialix(16.04.2010 11:56)
- printf использую. Больше нигде пока не нужно было. - Cepгeй Бopщ(15.04.2010 20:43)
- использовал в последнем проекте. Работа с указателями тоже не безопасна, а что делать :-) - abivan(15.04.2010 19:41)
- почти как к goto и матерным словам ;=) - koyodza(15.04.2010 19:17)
- Есть задача детектирования импульсного сигнала. replicater(392 знак., 24.04.2010 09:53, MCU, полностью)MBedder
- Кто нить уже коснулся EtherCAT? ASDFS(48 знак., 25.04.2010 03:00, MCU)
- Есть вопрос по использованию 512 TxPDO, RxPDO в CANOpen. Guintter(959 знак., 22.04.2010 13:15,
, MCU, полностью)