CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Аlex »

:facepalm: Вот сиди и догадывайся, что нужно человеку...

PS: А причём тут CV AVR ?
Реклама
Belerafon
Встал на лапы
Сообщения: 110
Зарегистрирован: Вс май 10, 2009 18:23:45

Re: CodeVision AVR в вопросах и ответах

Сообщение Belerafon »

в codevision сделать пытаюсь, по этому тут и спросил, может функции какие для преобразования массива в число или как еще можно, я не силен программировании, просто увлечени
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Аlex »

Дык, вы вопрос то задайте нормально. Не понятно, что вы хотите...
Belerafon
Встал на лапы
Сообщения: 110
Зарегистрирован: Вс май 10, 2009 18:23:45

Re: CodeVision AVR в вопросах и ответах

Сообщение Belerafon »

Нужен способ преобразования массива unsigned char name[] = 1234.5678
в массив unsigned char name[] = 12,57613
посредством деления чисел 34,5678 на 60 и прибавление к получившейся сумме 12 ( 12+34,5678/60 )
не знаю как еще проще объяснить что мне нужно.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение vitalik_1984 »

Belerafon , Алекс как всегда скуп на слова, но я думаю, что ему как и мне интересно узнать для чего это вам нужно, а если еще ближе к теме как вы будете использовать данный массив?
Тут есть несколько вариантов для вывода на дисплей ЖК, для вывода через терминал на экран компьютера, для иных случаев.

Опять же есть стандартные библиотеки с функциями наподобие sprintf(); Присмотритесь к поиску информации на данный тип функций.
Еще есть для преобразования строки в число atoi(); и наоборот itoa();

Ps Никому не интересно угадывать смысл непонятного, и возможно не нужного, выражения. Нужна конкретная постановка задачи :Создаю часы, нужна функция перевода чисел в массив для вывода на 7сегментный дисплей.

PsPsПравильно заданный вопрос уже содержит половину ответа.
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Аlex »

vitalik_1984 писал(а):Алекс как всегда скуп на слова
Дык какой вопрос такой и ответ :) Если честно, я не понимаю что нужно человеку. Он, похоже, и сам никак не поймёт что ему нужно, иначе вопросы были бы адекватные.
Реклама
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: CodeVision AVR в вопросах и ответах

Сообщение ut1wpr »

Belerafon писал(а):Нужен способ преобразования массива unsigned char name[] = 1234.5678
в массив unsigned char name[] = 12,57613
посредством деления чисел 34,5678 на 60 и прибавление к получившейся сумме 12 ( 12+34,5678/60 )
не знаю как еще проще объяснить что мне нужно.
И точку заменить на запятую? :)
Из входной строки сделайте две "12" и "34.5678"
Преобразуйте в два числа int и float. Выполните арифметику с п.з.
Преобразуйте результат в строку.
Делайте с ней, что хотите.
Ответа КАК это сделать не дам. Помогаю только шевелить мозгами. Рытье по либам - ваше все.
С уважением,
Виктор.
bimerman320
Открыл глаза
Сообщения: 69
Зарегистрирован: Вт янв 13, 2009 16:27:43

Re: CodeVision AVR в вопросах и ответах

Сообщение bimerman320 »

Помогите, пожалуйста, решить проблему. Суть проблемы в следующем: переделываю проект стабилитрон тестер с этого сайта, решил применить вместо дисплея 2x16, графический LPH9157-2 от сименса, управляющий контроллер Mega8L. Исходник переделал. В проекте используются 2 кнопки, обработка в прерываниях. Так вот, всё работает, но с закомментированной строкой #asm(sei). Как только раскомментирую #asm(sei), программа перестаёт работать как надо, а именно происходит ресет микроконтроллера, причём проверено как в железе, так и в симуляторе. Изначально у автора стоит оптимизация по скорости, а у меня по объёму. По скорости я поставить не могу, так как после компиляции размер прошивки превышает размер памяти atmega8.
Вложения
Stabilitron_tester.rar
(200.12 КБ) 150 скачиваний
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: CodeVision AVR в вопросах и ответах

Сообщение Apparatchik »

bimerman320 писал(а):Так вот, всё работает, но с закомментированной строкой #asm(sei). Как только раскомментирую #asm(sei), программа перестаёт работать как надо, а именно происходит ресет микроконтроллера, причём проверено как в железе, так и в симуляторе.
Эта строка включает прерывания глабально, без неё прерывания срабатывать не будут. Как знаете что reset, может он просто виснет?
«И всё-таки она вертится!»
bimerman320
Открыл глаза
Сообщения: 69
Зарегистрирован: Вт янв 13, 2009 16:27:43

Re: CodeVision AVR в вопросах и ответах

Сообщение bimerman320 »

Если раскомментировать #asm(sei) после инита дисплея и вывода какого-нибудь текста, то после появления этого текста через секунду текст пропадает, затем опять инит lcd, затем опять появляется текст, затем опять пропадает и так по кругу. WDT и BODEN отключены.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: CodeVision AVR в вопросах и ответах

Сообщение Apparatchik »

В код не вникал, но зачем там два "вечных цикла" while (1) ? :dont_know:
«И всё-таки она вертится!»
Аватара пользователя
U235
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт фев 21, 2012 20:42:26
Откуда: Санкт-Петербург, Россия, Земля

Re: CodeVision AVR в вопросах и ответах

Сообщение U235 »

bimerman320, cкорее всего дело в функции получения значения АЦП. Попробуйте поменять строчки

Код: Выделить всё

// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
на

Код: Выделить всё

// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
//ADCSRA|=0x10;
А из наших труб идет необычный дым. Стой! Опасная зона! Работа мозга!...
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

Re: CodeVision AVR в вопросах и ответах

Сообщение unalex »

Apparatchik писал(а):но зачем там два "вечных цикла" while (1) ?
один из них не совсем вечный из него брики выпрыгивают :)
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
bimerman320
Открыл глаза
Сообщения: 69
Зарегистрирован: Вт янв 13, 2009 16:27:43

Re: CodeVision AVR в вопросах и ответах

Сообщение bimerman320 »

Я думаю дело не в функции ADC, так как она работает, если не разрешать прерывания, приборчик всё что надо меряет и отображает. К тому же эту функцию сформировал CodeWizard.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение vitalik_1984 »

unalex писал(а):из него брики выпрыгивают :)
Не брики, а брэйки. брик это кирпич. Выражаетесь правильно, а не то фейсом об тэйбл. :)))

А вообще если серьезно, то нужно внимательно посмотреть, чтобы все разрешенные прерывания имели свои обработчики, так как если в таблице прерывания отсутствует ссылка на нужный обработчик вполне возможно, что компилятор вставляет ссылку на первый попавшийся обработчик - ресет.
Как говорится защита от случайной ошибки, которая и проявляется в виде перезагрузки Мк.
soznik
Родился
Сообщения: 13
Зарегистрирован: Вс апр 01, 2012 02:14:55

Re: CodeVision AVR в вопросах и ответах

Сообщение soznik »

Делаю первый шаг в написании программ на СИ в CVAVR (только второй день изучаю) весь вечер не могу добавить задержку. Помогите где проблема.
Вложения
Снимок1.png
(10.05 КБ) 364 скачивания
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: CodeVision AVR в вопросах и ответах

Сообщение Gudd-Head »

Библиотеку (?) delay.h подключили?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
soznik
Родился
Сообщения: 13
Зарегистрирован: Вс апр 01, 2012 02:14:55

Re: CodeVision AVR в вопросах и ответах

Сообщение soznik »

всё спасибо разобрался.
Belerafon
Встал на лапы
Сообщения: 110
Зарегистрирован: Вс май 10, 2009 18:23:45

Re: CodeVision AVR в вопросах и ответах

Сообщение Belerafon »

ut1wpr писал(а):Ответа КАК это сделать не дам. Помогаю только шевелить мозгами. Рытье по либам - ваше все.
Благодарю! В принципе правильно когда подталкивают и додумываешь сам, это помогает лучше понять и запомнить на будущее, мне и нужно было алгоритм что за чем делать, а далее разобрался. В принципе оказалось все не оч сложно!
Последний раз редактировалось Gudd-Head Ср апр 17, 2013 08:51:05, всего редактировалось 1 раз.
Причина: Нарушение п.2.7 Правил Форума
Аватара пользователя
servo
Встал на лапы
Сообщения: 88
Зарегистрирован: Вс окт 30, 2011 22:52:51

Re: CodeVision AVR в вопросах и ответах

Сообщение servo »

Подскажите как правильно настроить два uart приемо передатчика в ATMega128 на baudrate 230400, если МК работает от внешнего кварца 16мГц ?
Ответить

Вернуться в «AVR»