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

 
 
> Вопросы по программе на С, Программа для микроконтроллера
Makeda
сообщение Aug 9 2012, 18:19
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 9-08-12
Пользователь №: 73 076



Разбираю код для микроконтроллера на Си. Возникло пару вопросов.

1) Зачем нужны header файлы? На чем они написаны, если имеют расширение .h?

#include <reg8252.h>
#include "External.h"
#include "Interrupt.h"
#include "Timer.h"
#include "Memory.h"


2) #include <reg8252.h> подключается что? Как это правильно обозвать? Заголовочный файл с обозначение регистров специальных функций?

3) Это глобальная переменная?

extern bit IsWasInt;

Правильно ли описание.

4) Функция Delay объявлена на строке 12, она принимает без знаковый целочисленный аргумент типа int и ничего не возвращает. На четырнадцатой строке объявлен цикл while, которому в качестве условия выхода указан декремент локальной переменной i.

17) void Delay1ms(unsigned int i)
18) {
19) while(i--)
20) Delay(82);
21) }


12)void Delay(unsigned int i)
13) {
14) while(i--);
15) }
16) while(i--)

C:0x0344 EF MOV A,R7 ------ 1 цикл
C:0x0345 1F DEC R7 ------ 1 цикл
C:0x0346 AC06 MOV R4,0x06 ------ 1 цикл
C:0x0348 7001 JNZ C:034B ------ 2 цикла
C:0x034A 1E DEC R6 ------ 0 цикл
C:0x034B 4C ORL A,R4 ------ 1 цикл
C:0x034C 70F6 JNZ Delay(C:0344) ------ 2 цикла

8 циклов *12* 90 нс (11 МГц частота МК) * 82 = 0.708408 мс

Посмотрел на время выполнения в KeiluVision 4, результат не совпал 0,834550 мс


6) Что такое Build Target в KeiluVision 4? Создание сборки?

7) Следующая конструкция прописана в заголовочном файле c расширением .h. Не совсем понятно зачем используют в этом случае макрос b, почему когда переменной а присвоили значение P2^6, ее нельзя использовать в основной программе

sbit a = P2^6;
#define b a
Go to the top of the page
 
+Quote Post



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

 


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


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