Chettuser писал(а):itoa - если памяти много, если нет - писать самому.
Честно говоря не совсем понял какой памяти идет речь, если о флеш, то она займет точно меньше, чем printf(); а если про оперативную, то не знаю.
Вообще эта функция описана даже в книге основателей языка Кернигана и Ричи.
Аlex писал(а):О милливольтах речи не было, речь была о "нормальном значении" Ну а ссылка была по поводу "разборок на битовом уровне"
Люди совсем не умеют вопросы задавать
Людь задал именно тот вопрос, что ему и нужен был. Значение в АЦП я получил, я про два бита из ADRESH забыл. И мне пока надо научиться преобразовать полученное значение, которое поймет ЖКИ. Вашу ссылку как раз и читаю, но там ссылка на подпрограмму не туда кидает. а с милливольтами я потом начну разбираться.
Всем привет!
Вопрос по программируемому контроллеру приоритетных прерываний 8259.
Не доходит, как работает контроллер в режиме опроса (Polling mode).
Получается процессор посылает OCW3. Контроллер фиксирует самый приоритетный запрос. Последующее считывание OCW3 даст байт, который содержит в себе бит 7 (признак того, что был запрос на прерывание от устройства) и биты 2,,0, указывающие на запрос с максимальным приоритетом. Вот когда проц считал OCW3 и определил что был запрос скажем от IRQ2, то какие следующие действия? Процессор сам перейдет по вектору или мне самому надо как то прописать эту инструкцию?
В программаторе UniProf нету в списке Меги 1284, есть только 128,1280,1281 (в инете новых версий проги не нашел, другим прогам не доверяю так как пару раз убил камень изза бага в проге). Можно ли шить камень выбрав в списке мегу128 вместо 1284? Не будет ли при этом проблем?
Пробовал только читать так вылазит сразу сообщение что МК подключен но не определен и нужно вручную его выбрать из списка. Ставил 128 - читается но прошивать боюсь...
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Господа, помогите с мелким вопросом.
Вся микроконтроллерная система работает от 3.3v. Имеется 3 устройства, управляющиеся по I2c. Сколько и какие подтягивающие резисторы нужно поместить на шину?
Помогите разобратся с проблемой: Имеется прога написанная под мегу8, компилирую ее под мегу 1284 (компилятор только под мегу1284р, может в этом дело?). А еще программатор не поддерживает мегу 1284, только 1281(так я и шил). В итоге в протеусе у меня устройсвтро на меге 1284 работает нормально а в реале после прошивки полная тишина на всех портах. Скажите в чем может быть проблема?
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Делаю часы/вольт метр в авто.Почему когда МК Тини26 работает от 32768гц, то нельзя вызывать процедуру Read_ADC(), из прерывания таймера, который считает каждую секунду(таймер 1), при этом глючит динамическая индикация(дисплей обновляется по прерыванию таймера 0 с частотою 256гц), а если кинуть в основную процедуру и поставить делей в 1000мс, то норм пашет, какая разница, что там что там вызывается раз в секунду ?
у вас в основном цикле функция не мешает потому что прерывание происходит в нужное время, а если внутри таймера ставить, то прерывание таймера может задерживаться, так как сама функция устроена тупым циклом, пока нет флага готовности тупит в нем.Вот вам и моргания.
А если вы еще и функцию delay запихиваете в обработку таймера, то это вообще нубокод.
Вообще можно запускать преобразования по таймеру,а саму обработку проводить в основной программе.
вопрос по таймеру 6 в STM32F100, у меня используется прерывание по нему и понадобилось увеличить разрядность предделителя, не хватает 16 бит.
есть регистры TIM7->ARR и TIM7->PSC, которыми в этом случае можно делить частоту, это получается 32 бита, как правильно записать в них 32-битную переменную, чтобы один был как старшие 16 бит, другой - младшие, пытаюсь делать так, чёто не получается
да, перепутал, TIM6, почему-то всё равно глючит, частота прыгает, похоже, неправильный у меня этот алгоритм, может из двух предделителей один надо как-то по другому делать?
ковыряюсь с АЦП на Atmega16 и никак не вьеду как инициализировать несколько АЦП. беру пример(на Си) с одним ацп вроде понятно почти все, беру пример с двумя АЦП и почему то непонятно где второе Ацп и как его опрашивают? Спойлер
Ребята, кто-нибудь работал с CPLD семейство MAX3000A? Я развёл и вытравил плату, напаял компаненты, давай конфигурировать и тут понимаю, что у трёхтысячных НЕТ ПРОГРАММНОЙ ПОДТЯЖК И ВХОДОВ!!! Проклятье! До этого имел дело со вторыми максами. Не задумываясь, начал ваять схему и был вот так наказан.. И как теперь быть? заново разводить плату с внешними pull-up резисторами?
Или вот говорят, мол, семитысячная серия морально устарела, с 2007 года сняли с производства меняйте на 3000А, но семитысячники-то как раз с программируемыми пулл-апами! И как, спрашивается, менять? Горе мне!
Но это всё эмоции. Вопрос в другом: может быть я туплю в чём-то, и всё-таки есть возможность подтяжки??
в серии MAX3000A в нормальном режиме нет внутренней подтяжки I/O. Подтягиваются только ножки JTAG во время внутрисхемного программирования.
А для чего Вам подтяжка? может можно без нее обойтись?
Gudd-Head писал(а):Сначала оцифровать один канал, сменить его на другой, подождать немного пока напряжение устаканится, снова оцифровать.
это тоже вроде понятно что сначала одно потом другое через задержку, но я в коде не вижу где обращение к ADC0 а потом ADC1 и т.д ткните носом, а то по другому не пойму)