Страница 255 из 421

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

Добавлено: Вс апр 14, 2013 18:34:14
Аlex
:facepalm: Вот сиди и догадывайся, что нужно человеку...

PS: А причём тут CV AVR ?

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

Добавлено: Вс апр 14, 2013 18:37:12
Belerafon
в codevision сделать пытаюсь, по этому тут и спросил, может функции какие для преобразования массива в число или как еще можно, я не силен программировании, просто увлечени

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

Добавлено: Вс апр 14, 2013 19:05:51
Аlex
Дык, вы вопрос то задайте нормально. Не понятно, что вы хотите...

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

Добавлено: Вс апр 14, 2013 19:31:27
Belerafon
Нужен способ преобразования массива unsigned char name[] = 1234.5678
в массив unsigned char name[] = 12,57613
посредством деления чисел 34,5678 на 60 и прибавление к получившейся сумме 12 ( 12+34,5678/60 )
не знаю как еще проще объяснить что мне нужно.

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

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

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

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

PsPsПравильно заданный вопрос уже содержит половину ответа.

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

Добавлено: Вс апр 14, 2013 20:57:29
Аlex
vitalik_1984 писал(а):Алекс как всегда скуп на слова
Дык какой вопрос такой и ответ :) Если честно, я не понимаю что нужно человеку. Он, похоже, и сам никак не поймёт что ему нужно, иначе вопросы были бы адекватные.

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

Добавлено: Пн апр 15, 2013 08:01:57
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. Выполните арифметику с п.з.
Преобразуйте результат в строку.
Делайте с ней, что хотите.
Ответа КАК это сделать не дам. Помогаю только шевелить мозгами. Рытье по либам - ваше все.

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

Добавлено: Пн апр 15, 2013 09:04:03
bimerman320
Помогите, пожалуйста, решить проблему. Суть проблемы в следующем: переделываю проект стабилитрон тестер с этого сайта, решил применить вместо дисплея 2x16, графический LPH9157-2 от сименса, управляющий контроллер Mega8L. Исходник переделал. В проекте используются 2 кнопки, обработка в прерываниях. Так вот, всё работает, но с закомментированной строкой #asm(sei). Как только раскомментирую #asm(sei), программа перестаёт работать как надо, а именно происходит ресет микроконтроллера, причём проверено как в железе, так и в симуляторе. Изначально у автора стоит оптимизация по скорости, а у меня по объёму. По скорости я поставить не могу, так как после компиляции размер прошивки превышает размер памяти atmega8.

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

Добавлено: Пн апр 15, 2013 18:45:23
Apparatchik
bimerman320 писал(а):Так вот, всё работает, но с закомментированной строкой #asm(sei). Как только раскомментирую #asm(sei), программа перестаёт работать как надо, а именно происходит ресет микроконтроллера, причём проверено как в железе, так и в симуляторе.
Эта строка включает прерывания глабально, без неё прерывания срабатывать не будут. Как знаете что reset, может он просто виснет?

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

Добавлено: Пн апр 15, 2013 20:06:53
bimerman320
Если раскомментировать #asm(sei) после инита дисплея и вывода какого-нибудь текста, то после появления этого текста через секунду текст пропадает, затем опять инит lcd, затем опять появляется текст, затем опять пропадает и так по кругу. WDT и BODEN отключены.

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

Добавлено: Пн апр 15, 2013 20:37:30
Apparatchik
В код не вникал, но зачем там два "вечных цикла" while (1) ? :dont_know:

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

Добавлено: Пн апр 15, 2013 20:53:26
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;

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

Добавлено: Пн апр 15, 2013 21:32:32
unalex
Apparatchik писал(а):но зачем там два "вечных цикла" while (1) ?
один из них не совсем вечный из него брики выпрыгивают :)

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

Добавлено: Пн апр 15, 2013 22:06:12
bimerman320
Я думаю дело не в функции ADC, так как она работает, если не разрешать прерывания, приборчик всё что надо меряет и отображает. К тому же эту функцию сформировал CodeWizard.

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

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

А вообще если серьезно, то нужно внимательно посмотреть, чтобы все разрешенные прерывания имели свои обработчики, так как если в таблице прерывания отсутствует ссылка на нужный обработчик вполне возможно, что компилятор вставляет ссылку на первый попавшийся обработчик - ресет.
Как говорится защита от случайной ошибки, которая и проявляется в виде перезагрузки Мк.

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

Добавлено: Вт апр 16, 2013 14:43:06
soznik
Делаю первый шаг в написании программ на СИ в CVAVR (только второй день изучаю) весь вечер не могу добавить задержку. Помогите где проблема.

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

Добавлено: Вт апр 16, 2013 14:53:09
Gudd-Head
Библиотеку (?) delay.h подключили?

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

Добавлено: Вт апр 16, 2013 15:18:29
soznik
всё спасибо разобрался.

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

Добавлено: Вт апр 16, 2013 20:04:05
Belerafon
ut1wpr писал(а):Ответа КАК это сделать не дам. Помогаю только шевелить мозгами. Рытье по либам - ваше все.
Благодарю! В принципе правильно когда подталкивают и додумываешь сам, это помогает лучше понять и запомнить на будущее, мне и нужно было алгоритм что за чем делать, а далее разобрался. В принципе оказалось все не оч сложно!

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

Добавлено: Ср апр 17, 2013 09:08:38
servo
Подскажите как правильно настроить два uart приемо передатчика в ATMega128 на baudrate 230400, если МК работает от внешнего кварца 16мГц ?