Темата е заключена, не можете да променяте мнения.  [ 42 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
Бейсик за микроконтролери 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
Тони в съседната тема обяснява как се прави закъснение 10mS:

"на всяко ..... таймерите се сетват с setup_timer() виж хелпа, примерно :
setup_timer_0(RTCC_DIV_2); това ти сетва таймер 0 да работи в режим на броя1 с вътрешен клок с прескалер 2. Т.е. ако честотата ти е 4 Mhz на кварца, вътрешната ти е 1 Mhz, т.е. делено на 2 тймера ще се тактува с 500 khz, или ще се инкрементва на всеки 2 us. Таймера е 8 битов, т.е. препълване ще имаш на 512 us. В този случай за 10 ms имаш 10/256~0.039 мс, т.е. трябва да делиш на 39, такъв делител няма, избираш по големия, 64 и получаваш. 1 Mhz/64 = 15.625 Khz = 0.064 ms Сега смяташ колко ти трябва за да получиш 10 мс, 10/0.064 = 156,25 или 156. Т.е. трябва да сложиш таймера на да дели на 64 и да заредиш в него 100, за да имаш 156 такта до препълване.
setup_timer_0(RTCC_DIV_64);
set_timer0(100);

след това във прекъсването също трябва да го зареждш със тази стойност.
#INT_RTCC
RTC_ISR()
{

SET_TIMER0(100);
start adc conversion
}

вече в зависимост на колко делиш и колко ти се губи в прекъсване може да се наложи да коригираш стойността която зареждаш, тъй като таймера може да се е инкрементнал вече един или няколко пъти. Просто го четеш и вадиш това кеото си прочел от това което искаш да заредиш, редно е и да си предивдиш времето за изчитане на таймера и калкулиране на това кето ще зареждаш както и времето за зареждане.
В случая ще има прекъсване на всеки 156*0.064 мс или на вски 9.984 мс. За по голяма точност трябва да си избереш подходящ кварц."




В Протона е :
DELAYMS 10


Нед Юли 09, 2006 1:12 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Сря Юли 05, 2006 1:54 pm
Мнения: 279
Мнение 
е, да ... а на асемблер ще падне доста писане


Нед Юли 09, 2006 1:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Относно компилаторите.
За всяка платформа си има компилатор който е най добър.
Обикновенно IAR е сред най добрите за повечето платформи. Но е най тежък за усвояване. Много особенности и работата с него е доста зор докато свикнеш.

за PIC е спорен въпроса. Hi-Tech,CCS,IAR който да вземеш ще върши работа. При PIC18 везните се накланят към IAR повече.

за AVR и MSP430 еднозначно IAR.

В библиотека има един pdf дето го бях постнал преди доста време. Нещо като кратък справочник за синтаксиса на C на български. Изтегли си го ще ти е от полза.


Нед Юли 09, 2006 1:20 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
Горния пример със Тони е ценен и с още нещо.
Той илюстрира как опитен професионалист греши .

А натова :
DELAYMS 10
Просто няма какво да му сбъркаш


Нед Юли 09, 2006 1:29 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
fuser написа:
е, да ... а на асемблер ще падне доста писане


Какъвти асемблер това е С :lol:
Чесна да ти кажа понякога невиждам разлика


Нед Юли 09, 2006 1:31 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Сря Юли 05, 2006 1:54 pm
Мнения: 279
Мнение 
а какви са отзивите за компилатора на Микрочип???


Нед Юли 09, 2006 1:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
противоречиви :)
Долу горе ставал. Аз го пробвах преди ама не ми хареса изобщо.

Hi-tech си е класика,сега е интегриран с eclipse средата изглежда доста приятно но аз лично нямам наблюдения доколко е удобно да се работи така.
Но поработи с microC-то да посвикнеш с езика и тогава ще ти е лесно да минеш на нещо друго.


Нед Юли 09, 2006 1:41 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
CCS не е лош, верно има си някои косури, и определено не е истински С кмпилатор, в смисъл нямаш възможност за оптимизации, не че няма параметур амане видам ралзика, нямаш make фаил, коеот пък не е толкова зле, но в същото време е малко по странно когато проекта ти е от много файлове .. абе .... но е съвсем приемлив с оглед пика и неговоте възможности.


Нед Юли 09, 2006 1:45 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Сря Юли 05, 2006 1:54 pm
Мнения: 279
Мнение 
трябва да се започне от някъде :) смята полека-лека да се посветя на език от високо ниво


Нед Юли 09, 2006 1:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Ами относно езика от високо ниво мисля няма много за мислене и маяне, С трябва да е според мен, а вече за компилатора ... зависи .. примерно за х51 кейла е доста добър, да не кажа че е сигурно е най-доброто. За ПИК е много относително, но принципно ако искаш да пишеш на С за много платформи .. в това отношение може би IAR е най удачно, тъй като има кмпилатори почти за всичко. Лично на мен не ми допадна никак, трябва си повече време д му свикне човек, така че си позлвам keil за 51 CCS за PIC. IAR го мъчих за TI обачре нещо не ме кефи. KEIL правят и за ARM ...въпрос на избор


Нед Юли 09, 2006 2:02 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Сря Юли 05, 2006 1:54 pm
Мнения: 279
Мнение 
ToHu написа:
Ами относно езика от високо ниво мисля няма много за мислене и маяне, С трябва да е според мен, а вече за компилатора ... зависи .. примерно за х51 кейла е доста добър, да не кажа че е сигурно е най-доброто. За ПИК е много относително, но принципно ако искаш да пишеш на С за много платформи .. в това отношение може би IAR е най удачно, тъй като има кмпилатори почти за всичко. Лично на мен не ми допадна никак, трябва си повече време д му свикне човек, така че си позлвам keil за 51 CCS за PIC. IAR го мъчих за TI обачре нещо не ме кефи. KEIL правят и за ARM ...въпрос на избор

Хиляди благодарности за съветите


Нед Юли 09, 2006 2:11 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
Bascom-avr да го споменем и него за атмелите.
За пиковете е ясно.
Все пак темата е за Бейсик.


П.П.
Тони няма ли да си коригираш Обяснението за 10ms?


Нед Юли 09, 2006 2:14 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
@rumen, това дето ToHu го обяснява в съседната тема май не си го разбрал. Обяснява как софтуерно да си направиш допълнителен таймер, а не как да направи закъснение 10ms. Във CCS компилатора също както в Proton има някой вградени функции, които ти спестяват преоткриването на колелото, за да направиш софтуерно закъснение 10ms в CCS пишеш:
Код:
delay_ms(10);
...също толкова просто както при Proton.
Мисля, че си доста заслепен от тоя Proton, вземи отвори Help-а на CCS и няколко примера поне да знаеш какво изпускаш :wink:

PS. Извинявайте, че ви отклонявам темата от Basic, но не се сдържах


Нед Юли 09, 2006 2:22 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
@rumen мисля че е редно първо да изясниш за себе си поне разликите между компилатор, развойна среда, библиотека с готови функции и тогава да даваш съвети на хора без опит или да спориш с хора които имат доста повече опит от тебе в програмирането. Единственната причина поради която си позволявам да ти дам този съвет е защото го обърна вече на избиване на комплекси с този бейсик.
Аз лично бих стоял надалеч от решения като:
DELAYMS 10
На теб щом ти върши работа кефи му се. Но като допреш един ден(ако въобще допреш) до сериозна работа, а не само да се бъзикаш "за отмора" :lol: ще разбереш народната поговорка:
"Да би 255 шамара изял, но да би от бейсик далеч стоял" :lol:
Повтарям не заблуждавай хората с този бейсик и Протон.
То най-лесно и достъпно е една чикия да си удариш ама и ти гледаш нещо женско да барнеш.

PS: Сега гледам не съм единствен дето не съм се сдържал


Нед Юли 09, 2006 2:32 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Чет Ное 25, 2004 3:42 pm
Мнения: 913
Мнение 
"Бейсик за микроконтролери"

Четенето на темата не задължително.
А прочитането не ви задължава да пишете. Още повече ако незнаете какво да напишете.(по темата)


Нед Юли 09, 2006 3:10 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Темата е заключена, не можете да променяте мнения.   [ 42 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 18 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни