Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Интеграция программ. Использование ассемблерных вставок, вставок для МК. Си-код для гаджетов.

Читайте также:
  1. D) РЕКОНСТРУКЦИЯ И ИНТЕГРАЦИЯ КАК ЗАДАЧИ ГЕРМЕНЕВТИКИ
  2. IV. Интеграция конфликтных убеждений.
  3. IV. ТЕХНОЛОГИИ И КОНЕЧНОЕ ИСПОЛЬЗОВАНИЕ ПОСТОЯННЫ И ЗАДАНЫ
  4. А) Решение задачи с использованием существующих математических, аппаратных и программных средств
  5. А. Проверка подлинности процессов при распределении ключей с использованием ЦРК
  6. Агломерация железной руды с использованием древесного угля.
  7. АДАПТАЦИЯ И ИНТЕГРАЦИЯ В ДОШКОЛЬНЫХ УЧРЕЖДЕНИЯХ

 

 

Ассемблерные вставки - это вставки в процедуры си ассемблерного кода.

Оформление:

main()

{

__asm{

// ассемблерный код

}

 

}

 

 

Вставки для МК.

Управление и контроль работы микроконтроллера и его отдельных внутренних модулей осуществляется путём записи и чтения специальных ячеек-регистров в служебной области памяти ОЗУ - регистров специального назначения (Special Function Register, далее просто SFR).

Основная идея, позволяющая использовать Си для программирования микроконтроллеров, такова: регистры специального значения являются такими же переменными языка Си, как и объявленные пользователем. Этим переменным можно присваивать значения, управляя работой микроконтроллера, или считывать их, получая таким образом информацию о его текущем состоянии. Объявлять регистры микроконтроллера подобно пользовательским переменным не нужно по нескольким причинам. Во-первых, их размер заранее известен: в Си для AVR это беззнаковые 8-разрядные переменные. Во-вторых, SFR имеют строго определённые имена и адреса в памяти, являясь так называемыми регистрами ввода-вывода.

Тем не менее знакомить программу с регистрами спецназначения нужно, и делается это с помощью подключения так называемых заголовочных файлов.

 

В начале любой программы на Си мы можем видеть строки типа:

#include "file1.h" // Включить в код содержимое файла "file1.h".

Разработчик может создавать собственные h-файлы и помещать их, учитывая содержимое, в любое место программы. Однако, чтобы познакомить программу с SFR для данного типа микроконтроллера, необходимо подключать вполне конкретные заголовочные файлы. Их имена и количество зависит от конкретной среды разработки и типа используемого микроконтроллера, так, например, в IAR для Atmega64 достаточно прописать строки:

#include "iom64"

#include "inavr.h"

Управление работой микроконтроллера в большинстве случаев сводится к следующему простому набору действий с его регистрами:

 

1. Запись в регистр необходимого значения.

2. Чтение значения регистра.

3. Установка в единицу нужных разрядов регистра.

4. Сброс разрядов регистра в ноль.

5. Проверка разряда на логическую единицу или логический ноль.

6. Изменение логического состояния разряда регистра на противоположное.

 

Во всех указанных действиях принимает участие оператор присваивания языка Си, записываемый в виде знака равенства.

 

Си-код для гаджетов.

Обычно для программирования периферийного устройства программист должен писать нужные значения в различные поля управляющих регистров. В простейшем варианте это сводится к записи шестнадцатеричных данных в конкретные адреса памяти или маскирование конкретных бит. Для упрощения этой утомительной процедуры были созданы заголовочные файлы.

Заголовочные Си-файлы являются частью библиотеки и состоят из Си-функций, макросов, периферийных структур и определений переменных.

Регистры и битовые поля представлены в виде структур данных. Для инициализации и изменения регистров (структур) используются Си-функции или макросы.

Регистры периферийного устройства подключаются при помощи директив #define и #include

 

 


Дата добавления: 2015-10-13; просмотров: 125 | Нарушение авторских прав


Читайте в этой же книге: Строки. Операции над строками. Указатели на строки. | Структурные типы данных: структуры. Особенности использования. | Основы файловой системы: файл, каталог, дисковод, полное имя файла, внутреннее представление информации в файле. Типы файлов. | Память. Классы памяти. Модификаторы классов памяти. Область видимости, время жизни и место размещения объекта в памяти. | Достоинства, отличительные особенности и сравнительная характеристика языка программирования Си. | Модульное программирование. Структура модуля. Законы видимости | Структура модуля. | Назначение | Создание файла проекта. Объектные файлы. Раздельная компиляция. Make-файлы. | Команда |
<== предыдущая страница | следующая страница ==>
Особенности сборки программы в среде разработки QT-Creator.| Особенности использования, преимущества и недостатки кроссплатформенной среды разработки QT creator.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)