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

 
 
> Программирование МК на Си, Вопроосы по коду
Mackeda
сообщение Dec 27 2011, 13:53
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 26-12-11
Пользователь №: 69 092



Здравствуйте.

Возникло пару вопросов начального уровня по программированию МК на Си.

1) Подскажите как расчитать время задержки, если частота на микроконтроллере 9 МГц. Пример кода ниже.
Я считаю так: для первого Delay, каждые 111 нс (9МГц) от числа 82 (загруженного из Delay1) будет отниматься 1, когда дойдет до нуля цикл завершится. Получим задержку 111 нс * 82 = 9.102 мкс.


2) Почему переменная j инициализируется числом 1000.

Код
void Delay1(unsigned int j)    
    {
    while(j--)
        Delay(82);
    }            

void Delay(unsigned int i)  
    {    
    while(i--);
    }


3) В uVision есть окно прерываний (рисунок).

EA - общий запрет/разрешение прерываний.
EX0 - разрешение внешнего прерывания INT0.
Не до конца понял назначение IT0 и не понял IE0.

4) Поясните код
Код
void INTRPT0(void) interrupt 0 using 1
, ето что специальная функция на СИ, которая срабатывает когда на ноге INT0 появляется "0".

5) Что возвратит строка
Код
return !INT0;
, если sbit INT0 = 0xB2 и на порту INT0 лог. "0". Будет возвращена "1".

6)

#define ADDR 0x02
#define ERROR PBYTE[ADDR]

Если я напишу ERROR (0xFF), во внешнюю память запишется данные 0xFF? Просто данные без адреса?

Заранее благодарю за ответы.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Mackeda   Программирование МК на Си   Dec 27 2011, 13:53
- - Палыч   Хорошо бы задавая вопрос указывать конкретный тип ...   Dec 27 2011, 14:45
- - Mackeda   Цитата2. Не понятно: о чём идёт речь? Изначально ...   Jan 3 2012, 11:32
|- - toweroff   Цитата(Mackeda @ Jan 3 2012, 15:32) но по...   Jan 3 2012, 12:00
|- - Палыч   Цитата(Mackeda @ Jan 3 2012, 15:32) Изнач...   Jan 3 2012, 18:34
- - Mackeda   Цитатанет, после декремента Сори за опечатку, да ...   Jan 3 2012, 12:32
|- - toweroff   Цитата(Mackeda @ Jan 3 2012, 16:32) Сори ...   Jan 3 2012, 12:44
- - Mackeda   Подскажите еще момент. Кодwhile(1) {...   Jan 10 2012, 10:04
- - MALLOY2   А как надо ? какая-то ахинея. Пишите что бы было в...   Jan 10 2012, 10:32
- - Mackeda   Уточняю. КодВыполнение программы: Шаг 1 ......   Jan 10 2012, 11:18
|- - Палыч   Цитата(Mackeda @ Jan 10 2012, 15:18) Прав...   Jan 10 2012, 12:04
|- - XVR   Цитата(Mackeda @ Jan 10 2012, 15:18) Прав...   Jan 11 2012, 09:12
|- - _Pasha   Цитата(Mackeda @ Jan 10 2012, 15:18) Уточ...   Jan 13 2012, 11:05
- - редактор   Проверять значение вызываемой функции надо так Код...   Jan 13 2012, 08:32
|- - Палыч   Цитата(редактор @ Jan 13 2012, 12:32) Про...   Jan 13 2012, 11:04
- - Mackeda   ЦитатаЕсли быть формалистом, то процедура (прерыва...   Jan 18 2012, 13:20
|- - Палыч   Цитата(Mackeda @ Jan 18 2012, 17:20) А мо...   Jan 18 2012, 15:33
- - Vladimir_Sn   Здравствуйте! Сейчас пишу первый проект на мик...   Jan 21 2012, 06:02
|- - Палыч   Цитата(Vladimir_Sn @ Jan 21 2012, 10:02) ...   Jan 21 2012, 06:28
- - Cosmojam   А ещё умножение float на int и присваивание резуль...   Jan 21 2012, 06:39
- - Vladimir_Sn   Теперь начинаю понимать..., спасибо большое!   Jan 21 2012, 07:18


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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