PS: А причём тут CV AVR ?
CodeVision AVR в вопросах и ответах
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
PS: А причём тут CV AVR ?
- Реклама
Re: CodeVision AVR в вопросах и ответах
в codevision сделать пытаюсь, по этому тут и спросил, может функции какие для преобразования массива в число или как еще можно, я не силен программировании, просто увлечени
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Дык, вы вопрос то задайте нормально. Не понятно, что вы хотите...
Re: CodeVision AVR в вопросах и ответах
Нужен способ преобразования массива unsigned char name[] = 1234.5678
в массив unsigned char name[] = 12,57613
посредством деления чисел 34,5678 на 60 и прибавление к получившейся сумме 12 ( 12+34,5678/60 )
не знаю как еще проще объяснить что мне нужно.
в массив unsigned char name[] = 12,57613
посредством деления чисел 34,5678 на 60 и прибавление к получившейся сумме 12 ( 12+34,5678/60 )
не знаю как еще проще объяснить что мне нужно.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Belerafon , Алекс как всегда скуп на слова, но я думаю, что ему как и мне интересно узнать для чего это вам нужно, а если еще ближе к теме как вы будете использовать данный массив?
Тут есть несколько вариантов для вывода на дисплей ЖК, для вывода через терминал на экран компьютера, для иных случаев.
Опять же есть стандартные библиотеки с функциями наподобие sprintf(); Присмотритесь к поиску информации на данный тип функций.
Еще есть для преобразования строки в число atoi(); и наоборот itoa();
Ps Никому не интересно угадывать смысл непонятного, и возможно не нужного, выражения. Нужна конкретная постановка задачи :Создаю часы, нужна функция перевода чисел в массив для вывода на 7сегментный дисплей.
PsPsПравильно заданный вопрос уже содержит половину ответа.
Тут есть несколько вариантов для вывода на дисплей ЖК, для вывода через терминал на экран компьютера, для иных случаев.
Опять же есть стандартные библиотеки с функциями наподобие sprintf(); Присмотритесь к поиску информации на данный тип функций.
Еще есть для преобразования строки в число atoi(); и наоборот itoa();
Ps Никому не интересно угадывать смысл непонятного, и возможно не нужного, выражения. Нужна конкретная постановка задачи :Создаю часы, нужна функция перевода чисел в массив для вывода на 7сегментный дисплей.
PsPsПравильно заданный вопрос уже содержит половину ответа.
- Реклама
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Дык какой вопрос такой и ответvitalik_1984 писал(а):Алекс как всегда скуп на слова
Re: CodeVision AVR в вопросах и ответах
И точку заменить на запятую?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 в вопросах и ответах
Помогите, пожалуйста, решить проблему. Суть проблемы в следующем: переделываю проект стабилитрон тестер с этого сайта, решил применить вместо дисплея 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 в вопросах и ответах
Эта строка включает прерывания глабально, без неё прерывания срабатывать не будут. Как знаете что reset, может он просто виснет?bimerman320 писал(а):Так вот, всё работает, но с закомментированной строкой #asm(sei). Как только раскомментирую #asm(sei), программа перестаёт работать как надо, а именно происходит ресет микроконтроллера, причём проверено как в железе, так и в симуляторе.
«И всё-таки она вертится!»
-
bimerman320
- Открыл глаза
- Сообщения: 69
- Зарегистрирован: Вт янв 13, 2009 16:27:43
Re: CodeVision AVR в вопросах и ответах
Если раскомментировать #asm(sei) после инита дисплея и вывода какого-нибудь текста, то после появления этого текста через секунду текст пропадает, затем опять инит lcd, затем опять появляется текст, затем опять пропадает и так по кругу. WDT и BODEN отключены.
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: CodeVision AVR в вопросах и ответах
В код не вникал, но зачем там два "вечных цикла" while (1) ? 
«И всё-таки она вертится!»
- U235
- Встал на лапы
- Сообщения: 135
- Зарегистрирован: Вт фев 21, 2012 20:42:26
- Откуда: Санкт-Петербург, Россия, Земля
Re: CodeVision AVR в вопросах и ответах
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 в вопросах и ответах
один из них не совсем вечный из него брики выпрыгиваютApparatchik писал(а):но зачем там два "вечных цикла" while (1) ?
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
-
bimerman320
- Открыл глаза
- Сообщения: 69
- Зарегистрирован: Вт янв 13, 2009 16:27:43
Re: CodeVision AVR в вопросах и ответах
Я думаю дело не в функции ADC, так как она работает, если не разрешать прерывания, приборчик всё что надо меряет и отображает. К тому же эту функцию сформировал CodeWizard.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
Не брики, а брэйки. брик это кирпич. Выражаетесь правильно, а не то фейсом об тэйбл.unalex писал(а):из него брики выпрыгивают
А вообще если серьезно, то нужно внимательно посмотреть, чтобы все разрешенные прерывания имели свои обработчики, так как если в таблице прерывания отсутствует ссылка на нужный обработчик вполне возможно, что компилятор вставляет ссылку на первый попавшийся обработчик - ресет.
Как говорится защита от случайной ошибки, которая и проявляется в виде перезагрузки Мк.
Re: CodeVision AVR в вопросах и ответах
Делаю первый шаг в написании программ на СИ в CVAVR (только второй день изучаю) весь вечер не могу добавить задержку. Помогите где проблема.
- Вложения
-
- Снимок1.png
- (10.05 КБ) 364 скачивания
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: CodeVision AVR в вопросах и ответах
Библиотеку (?) delay.h подключили?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: CodeVision AVR в вопросах и ответах
всё спасибо разобрался.
Re: CodeVision AVR в вопросах и ответах
Благодарю! В принципе правильно когда подталкивают и додумываешь сам, это помогает лучше понять и запомнить на будущее, мне и нужно было алгоритм что за чем делать, а далее разобрался. В принципе оказалось все не оч сложно!ut1wpr писал(а):Ответа КАК это сделать не дам. Помогаю только шевелить мозгами. Рытье по либам - ваше все.
Последний раз редактировалось Gudd-Head Ср апр 17, 2013 08:51:05, всего редактировалось 1 раз.
Причина: Нарушение п.2.7 Правил Форума
Причина: Нарушение п.2.7 Правил Форума
Re: CodeVision AVR в вопросах и ответах
Подскажите как правильно настроить два uart приемо передатчика в ATMega128 на baudrate 230400, если МК работает от внешнего кварца 16мГц ?


