реклама на сайте
подробности

 
 
21 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Изменение текста программы при смене компилятора и чипа
sigmaN
сообщение Nov 13 2010, 21:43
Сообщение #46


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



тулчайн - это и есть тот самый WinAVR.
Только лично у меня были проблемы с путями при использовании WinAVR я их вводил вручную.
С тулчайном таких проблем не было. Всё сразу работало без проблем.
Я же Вам сказал что каать и ставить в том порядке, в котором я перечислял. Всё проверено ))


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 14 2010, 02:03
Сообщение #47


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Абсолютно случайно наткнулся на статью http://easyelectronics.ru/kondensator-i-rc-cepochka.html где почти в самом конце есть описание процесса измерения напряжения с помощью компаратора. Да и вся статья, думаю, будет очень полезна.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
314
сообщение Nov 14 2010, 08:02
Сообщение #48


Частый гость
**

Группа: Участник
Сообщений: 139
Регистрация: 17-08-07
Пользователь №: 29 855



По мне, так проще все делать сразу в Programer_Notepad, без студии. Студия полезна как дебаггер, для пошаговой отладки (интерфейс удобный) и еще удобный программатор, а писать и компилить все-таки PN удобнее, ИМХО.
А по-поводу автора, так может ему программу внук писал smile.gif .

Сообщение отредактировал 314 - Nov 14 2010, 08:04
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 14 2010, 10:12
Сообщение #49


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



ИМХО пусть привыкает к работе над проектом в IDE. Концепция везде одинакова. Пригодится.
Сам я тоже студию не очень люблю за тупость редактора и предпочитаю SlickEdit, но если сейчас предложить такой вариант топикстартеру - придётся ещё и русский мануал по SlickEdit или Programer_Notepad искать )
А программки простенькие у него....так что должно студии пока хватать.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Nov 14 2010, 10:23
Сообщение #50


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Всё установил как рекомендовали и спасибо за ссылочку.Литературки по студии немного накропал по инету(ну в смысле первые шаги и пр.)буду изучать.Жаль что через 5 часов уезжать на вахту.
Да,об исходнике.Попробовал я его прокомпилить в IAR Systems Embedded Workbench 5.4 результат 70 ошибок и 0 предупреждений crying.gif вот так.Буду писать прогу под эту схему с нуля.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 14 2010, 10:39
Сообщение #51


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Цитата
Буду писать прогу под эту схему с нуля.
А вот это правильно ))
Ну за пять часов можно знаете скоолько написать всего ))


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Nov 23 2010, 16:10
Сообщение #52


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Подтягиваю теорию и в качестве практики разбирая исходник столкнулся с таким кодом:__eeprom State ee_stat; State Status; Status=ee_stat; (пишу с телефона поэтому так криво)интересует предназначение __eeprom в объявлении переменной ee_stat типа State. И еще: #ifdef DEBUG; void sb(byte data); void phex(byte ch); #define CRLF sb(13);sb(10) #endif Вроде читаю об этом,а не до конца понимаю суть:-(
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 23 2010, 20:33
Сообщение #53


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



чё, опять IAR?
вроде ж соскакивать с него решили...

__eeprom указывает, что переменная будет храниться в EEPROM
Код
#ifdef DEBUG;
void sb(byte data);
void phex(byte ch);
#define CRLF sb(13);sb(10)  
#endif
нет, ну про #ifdef и #define то там пару страниц от силы прочитать.... ёмаё )))

объявление прототипа функций.
Код
void sb(byte data);
void phex(byte ch);


Код
CRLF;
препроцессор развернет в
Код
sb(13);sb(10);


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Nov 24 2010, 16:18
Сообщение #54


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Цитата(sigmaN @ Nov 23 2010, 23:33) *
чё, опять IAR?
вроде ж соскакивать с него решили...

__eeprom указывает, что переменная будет храниться в EEPROM
Код
#ifdef DEBUG;
void sb(byte data);
void phex(byte ch);
#define CRLF sb(13);sb(10)  
#endif
нет, ну про #ifdef и #define то там пару страниц от силы прочитать.... ёмаё )))

объявление прототипа функций.
Код
void sb(byte data);
void phex(byte ch);


Код
CRLF;
препроцессор развернет в
Код
sb(13);sb(10);

Всё это в общих чертах я понимаю,но не пойму при чем здесь DEBUG и вообще можно же просто обьявить функцию.А в книге пишут что это (#ifdef ... #endif)условная компиляция???Что эт за зверь?
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Nov 25 2010, 17:16
Сообщение #55


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Так я до конца и не понял строчку: return(TH<<8 | TCNT0);Зачем производить сдвиг переменной TH на 8 позиций .Нам то нужно значение TCNT0?Или это для того чтобы занести значение в старший байт?
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 25 2010, 21:49
Сообщение #56


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Цитата
не пойму при чем здесь DEBUG
Программа пишется с учётом отладки(к примеру вывод значений по UART в нужных местах).
Куски кода, отвечающие за отладку делают внутри ifdef DEBUG. Таким образом, если символ DEBUG определен - компилятор скомпилирует то, что между ifdef и endif, а если нет - то пропустит. Для него тогда просто не существует этого кода. Препроцессор его вырежет, т.к. условие не выполнилось, DEBUG не определен(nod defined). Вот. Таким образом релиз программы делается без отладочного вывода путем простого комментирования строки #define DEBUG где-то в самом начале программы ) А ещё символы дефайнить можно из свойств проекта... В общем это уже не так важно.

Цитата
Или это для того чтобы занести значение в старший байт?
Да, TH ложится в старший байт, TCNT0 в младший. Я ооочень подробно там всё описал с примерами. Едва ли я смогу что-то новое придумать ) Там прям в двоичном виде кажется давал примеры же!


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Nov 27 2010, 15:12
Сообщение #57


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Ага, спасибо с дебугом всё ясно.С ТН...Если не записать 0 в старший байт,то туда запишется значение TCNT0 ,поскольку сначала должен записываться именно старший байт?
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Nov 28 2010, 10:54
Сообщение #58


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Цитата
Если не записать 0 в старший байт,то туда запишется значение TCNT0 ,поскольку сначала должен записываться именно старший байт?
Как это? Откуда это? Ничего не понял. Имеется ввиду, что будет, если просто написать return TCNT0; ?

Так вот если просто присвоить 16ти битной переменной(у нас это значение функции) то этот TCNT0 пойдет, естественно, в младший байт, а в старшем будут нули сами собой. Ибо мы то присваиваем ЗНАЧЕНИЕ. Т.е. TCNT0 было равно к примеру 150. Мы и присваиваем переменной 150. Если переменная 16бит - то будет один старший байт нулей, а в младшем наши 150. Если переменная 32бита - будет три байта нулей, а в четвертом(самом младшем) будут наши 150. И значение переменной во всех случаях будет таки равно 150 и никак иначе.
И записать их можно в любом порядке(с помощью битовых операций, в которые, как мне кажется, Вы до сих пор так толком и не "въехали)".


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Nov 28 2010, 13:42
Сообщение #59


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Что делает TH<<8,что и куда переносится я понимаю,я не пойму зачем это делать?Почему нельзя просто написать return TCNT0?
Go to the top of the page
 
+Quote Post
RW6MKA
сообщение Dec 6 2010, 15:20
Сообщение #60


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 25-10-10
Из: Ростовская обл.
Пользователь №: 60 401



Обязательно ли дергать строб при зажигании светодиодов, или достаточно подтянуть его к 1?

Как можно подобрать соотношение напряжение - светодиод? Моделировать в Протеусе?
Go to the top of the page
 
+Quote Post

21 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 07:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016