roboforum.ru

Технический форум по робототехнике.

 

CodeVisionAVR - версия 2!

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: CodeVisionAVR - версия 2!

Сообщение galex1981 » 07 июл 2011, 11:48

Странный таки вопрос. Когда объявляешь переменную ты пишешь:
Код: Выделить всёРазвернуть
int a;

Когда она тебе не нужна, ты просто убираешь ее объявление и спрользование (или я что то не догоняю)
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4360
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: CodeVisionAVR - версия 2!

Сообщение dccharacter » 07 июл 2011, 12:02

объявляй не глобальные переменные, а локальные.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4862
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: CodeVisionAVR - версия 2!

Сообщение Korbofos » 07 июл 2011, 12:05

Пишу прошивку для m128-ds.
Например если нужно работать с сервами создаём глобальный массив, чтоб работать с ним в прерываниях.
Сервы больше ненужны отключаем таймер удаляем массив из памяти.
Но как это сделать?

P.S.Если не нужны сервы то и массив не нужен....
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.
Аватара пользователя
Korbofos
 
Сообщения: 296
Зарегистрирован: 15 янв 2011, 11:27
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр

Re: CodeVisionAVR - версия 2!

Сообщение =DeaD= » 07 июл 2011, 12:50

Вроде как в любом Си - если надо на ходу выделять\чистить память, то надо использовать malloc + free, а в переменную объявлять только указатель на будущую структуру данных.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24053
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: Pascal / C++ / PHP / 1C
ФИО: Антон Ботов

Re: CodeVisionAVR - версия 2!

Сообщение Romikgy » 07 июл 2011, 13:56

какую переменную?
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 677
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Odessa.UA

Re: CodeVisionAVR - версия 2!

Сообщение osc » 07 июл 2011, 18:04

Мне больше версия 1.ХХХ нравится, хотя во второй правильно модернизировали CodeWizard.
Вообще лучше без него писать, как я считаю.
Аватара пользователя
osc
 
Сообщения: 311
Зарегистрирован: 07 сен 2009, 20:06
прог. языки: c, c#
ФИО: Евгений

Re: CodeVisionAVR - версия 2!

Сообщение Korbofos » 10 июл 2011, 12:28

Код: Выделить всёРазвернуть
int *servo_position;
int *pause;
unsigned char *current_servo;
servo_position=(int*)calloc(9,sizeof(int));
pause=(int*)malloc(sizeof(int));
current_servo=(char*)malloc(sizeof(unsigned char));

Что не так делаю????
CV выдаёт ошибку: пропущена "(
Нужный обьём памяти HEAP задал...
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.
Аватара пользователя
Korbofos
 
Сообщения: 296
Зарегистрирован: 15 янв 2011, 11:27
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр

Re: CodeVisionAVR - версия 2!

Сообщение Vooon » 11 июл 2011, 08:25

Зачем здесь вообще динамическое выделение?
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3324
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: CodeVisionAVR - версия 2!

Сообщение Korbofos » 11 июл 2011, 08:40

если сервы не нужны зачем массив держать в памяти?
Ну или как ещё можно сделать?
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.
Аватара пользователя
Korbofos
 
Сообщения: 296
Зарегистрирован: 15 янв 2011, 11:27
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр

Re: CodeVisionAVR - версия 2!

Сообщение Romikgy » 11 июл 2011, 10:22

Korbofos писал(а):
Код: Выделить всёРазвернуть
int *servo_position;
int *pause;
unsigned char *current_servo;
servo_position=(int*)calloc(9,sizeof(int));
pause=(int*)malloc(sizeof(int));
current_servo=(char*)malloc(sizeof(unsigned char));

Что не так делаю????
CV выдаёт ошибку: пропущена "(
Нужный обьём памяти HEAP задал...

в данном куске скобки нормальные ... мож в другом участке кода?
PS это не тот проц где нормально работает динамическая память .....
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 677
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Odessa.UA

Re: CodeVisionAVR - версия 2!

Сообщение Korbofos » 11 июл 2011, 10:41

int *servo_position;
//servo_position=(int*)malloc(9*sizeof(int));
убираю строку всё нормально никаких ошибок

не нравится мне что в памяти будет такой массив висеть, если сервы будут отключены!
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.
Аватара пользователя
Korbofos
 
Сообщения: 296
Зарегистрирован: 15 янв 2011, 11:27
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр

Re: CodeVisionAVR - версия 2!

Сообщение Romikgy » 11 июл 2011, 16:52

это 36 байт что ли жалко?
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 677
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Odessa.UA

Re: CodeVisionAVR - версия 2!

Сообщение Korbofos » 11 июл 2011, 18:11

Немного да))
Люблю оптимизировать и выкидывать ненужное... У меня маниакальный характер :crazy:

Romikgy если времени не жалко может посмотрите проект? Сегодня пол дня CV мучил эффекту ноль(упорно требует скобку) :o
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.
Аватара пользователя
Korbofos
 
Сообщения: 296
Зарегистрирован: 15 янв 2011, 11:27
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр

Re: CodeVisionAVR - версия 2!

Сообщение Romikgy » 11 июл 2011, 18:14

выкладывай посмотрим ....

PS если разбираешься в асме , то посмотри код который генерит си для ф-кций malloc и подобные ... и тогда еще раз подумай о необходимости такой оптимизации....
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 677
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Odessa.UA

Re: CodeVisionAVR - версия 2!

Сообщение Korbofos » 11 июл 2011, 18:21

В асаме я не разбираюсь(
Вот "проект"
Вложения
ADC.rar
(198.74 КиБ) Скачиваний: 0
РАБОТА, РАБОТА перейди на Федота, с Федота на его брата, а ко мне их зарплата.
Аватара пользователя
Korbofos
 
Сообщения: 296
Зарегистрирован: 15 янв 2011, 11:27
Откуда: Челябинск
прог. языки: C/C++
ФИО: Александр

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Mail.ru counter