Использование MS-DOS в качестве ОСРВ

При принятии решения об использовании операционной системы MS-DOS в качестве ОСРВ необходимо учитывать:

§ время ответа между ОС и прикладной программой;

§ Интервалы между обращениями ПП с запросом на использование ресурсов ВС;

§ используемый тип процессора ВС;

§ частоту системных часов ОС;

§ структуру ВС.

 

Открытая модульная архитектура контроллеров

 

Концепция открытой модульной архитектуры контроллеров - OMAC (Open Modular Architecture Controls) была выдвинута фирмой General Motors летом 1994 г. в документе, содержащем требования к контроллерам, использующимся в автомобильной промышленности.

Те же или близкие к ним концептуальные требования разрабатываются европейскими (European Open System Architecture for Controls within Automation Systems, OSACA) и японскими (Japan International Robotics and Factory Automation, IROFA и Japan Open System Environment for Controller Architecture, OSEC) организациями.

Смысл OMAC-требований к контроллерам вкратце можно сформулировать в терминах, основные из которых представлены в названии архитектуры:

  • Open (открытая) архитектура, обеспечивающая интеграцию широко распространенного на рынке аппаратного и программного обеспечения;
  • Modular (модульная) архитектура, позволяющая использовать компоненты в режиме Plug & Play;
  • Scaleable (масштабируемая) архитектура, позволяющая легко и эффективно изменять конфигурацию для конкретных потребностей;
  • Economical (экономичная) архитектура, обеспечивающая невысокую стоимость жизненного цикла контроллерного оборудования;
  • Maintainable (легко обслуживаемая) архитектура, выдерживающая напряженные условия работы в цехах и простая в ремонте и обслуживании (минимальное время простоя).

 

Одноплатные компьютеры

Одноплатные компьютеры яв­ляются вычислительным ядром боль­шинства встраиваемых систем в насто­ящее время.

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

Одноплатный компьютер (single-board computer) - полнофункциональный мини компьютер, выполненный на одной плате. Для того, чтобы реализовать все возможности современных компьютеров на плату одноплатного мини компьютера (sbc) интегрируют все необходимые компоненты (один или более микропроцессоров, RAM, IO и т.д.). Именно поэтому на базе одноплатных компьютеров собираются компактные мини компьютеры для промышленного применения.

 

Существуют два основных направления развития одноплатных компьютеров: мини компьютеры, поддерживающие расширение с помощью слотов (slot support) и без слотные (no slots) мини компьютеры. Для без слотных одноплатных компьютеров чаще всего употребляют определение "встраиваемый компьютер" (embedded sbc). Встраиваемые компьютеры отличаются небольшими размерами и фиксированным набором I/O, ориентированным, прежде всего, на промышленное применение.

Одноплатный компьютер (SBC, англ. single-board computer) — это, чаще всего, промышленный компьютер или встраиваемый компьютер. Чаще всего эти решения должны быть защищены или очень компактны, поэтому все компоненты должны располагаться на одной плате.

 

Такая экономия с одной стороны делает всё устройство более компактным, с другой стороны, расширение возможностей — смена процессора или памяти — затруднено, так как чаще всего эти компоненты напаяны на плату.

 

Некоторые характеристики одноплатных компьютеров

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

 

Важным момен­том является то, что поставляемые на рынок SBC являются «коробочными» изделиями, используемыми во многих сферах. «Коробочное изделие» - это изделие, предназначенное для последующей установки в составе какого-либо устройства; простейшим примером КИ являются материнская плата, видеокарта и т.д.

Это обстоятельство, а также стандартизация основных системных решений дает покупателю известные гарантии надёжности и работоспособ­ности, снимает необходимость прове­дения работ по тестированию большей части функций. Системным интеграто­рам остается только написать специ­альное программное обеспечение и при необходимости дополнить SBC набо­ром требуемых интерфейсов.

 

Таким образом, основное назначе­ние SBC можно сформулировать сле­дующим образом: это универсальное стандартизованное микропроцессор­ное решение, легко адаптируемое (тем или иным способом) для решения кон­кретной задачи.

 

 

В отличие от других языков программирования, в языке Си нет встроенных средств ввода/вывода. Ввод и вывод осуществляется с помощью стандартных библиотечных функций. Для получения доступа к библиотечным функциям в текст программы должен быть включен заголовочный файл соответствующей библиотеки. Заголовочный файл для библиотеки ввода/вывода имеет имя stdio.h.

Основные функции ввода/вывода:

§ int scanf (const char* format, …)// ввод

§ int printf (const char* format, …)//вывод

Они выполняют форматированный ввод/вывод произвольного количества величин в соответствии со строкой format.

Строка формата содержит:

§ символы, которые при выводе копируются в поток (на экран) или запрашиваются из потока (с клавиатуры) при вводе;

§ спецификации преобразования, начинающиеся со знака %, которые при вводе и выводе заменяются конкретными величинами.

#include <stdio.h>/* в текст программы включается заголовочный файл, содержащий описание использованных в программе функций ввода-вывода*/

int main()

{

int i; // описание целочисленной переменной

printf("Vvedite celoe chislo\n");//вывод приглашения на экран

scanf("%d", &i); /*функция scanf заносит введенное с клавиатуры число в переменную i (знак & - взятие адреса) */

printf("Vu vveli chislo %d, spasibo!\n", i); /*функция printf выводит на экран указанную строку, заменяя спецификацию преобразования на значение этого числа*/

return 0;

}

 

Printf()

Синтаксис:

#include <stdio.h>

/*int printf (строка символов [, список параметров вывода]); */

В самой простой форме функция printf() имеет в качестве параметра строку для форматированного вывода в виде текста, взятого в кавычки. В результате работы программы на экране появится текст.

Содержимое строки выводится целиком, за исключением символов, перед которыми стоит знак %.

Со знака «%»начинается спецификация формата для представления величин из списка параметров вывода.

Спецификация формата задает преобразования, которому будет подвергнута выводимая информация. Она имеет следующий общий вид:

% [флаг][ширина][.точность][размер]символы формата

Элементы спецификации, заключенные в квадратные скобки необязательны.

Самая простая спецификация формата содержит только знак процента и символ формата: % символы формата

Например, %d.

Значения символа формата приведены в таблице ниже. Итак, каждая спецификация заставляет функцию printf() искать в списке вывода аргумент, который затем преобразуется и выводится в соответствии с заданным преобразованием.

Таблица 1. Значения символа формата

Символы формата Тип выводимого объекта
s строка
d Число типаint(в десятичной форме)
o Число типаint(в восьмиричной форме)
u Число типаunsigned int (в десятичной форме)
x Число типаint (в шестнадцатеричной форме)
f float, double (с фиксированной точкой)

Параметр «[ширина][.точность]» имеет вид десятичного значения с плавающей запятой, где символы слева от запятой устанавливают общее число знаков в выводимых значениях, а символы справа – число знаков после запятой.

Например, спецификатор %5d задает вывод целочисленного значения длиной пять знаков, а %15.5f – вывод числа с плавающей запятой общей длиной в 15 знаков, пять из которых составляют дробную часть.

Пример использования функции.

#include <stdio.h>

#define square(x) ((x) * (x))

#define pi 3.1415926

void main()

{

float x = 2.5;

int i = 11;

int j = 119;

printf ("\n Значение квадрата 2.5 = %10.4f", square(x)); /*вывод

значения функции square(x) */

printf ("\n Значение Пи=%10.4f", pi);

printf ("\n\n Шестнадцатеричный код числа 11=%x", i); /*вывод значения переменной i в шестнадцатеричном представлении*/

printf ("\n\n Шестнадцатеричный код числа 119=%x", j);

printf ("\n\n Восьмеричный код числа 119=%o \n", j);

}

Результат работы:

Значение квадрата 2.5 = 6.2500

Значение Пи= 3.1416

Шестнадцатеричный код числа 11= b

Шестнадцатеричный код числа 119= 77

Восьмеричный код числа 119=167

 

Getch()

Синтаксис:

#include <conio.h>

int getch(void);

 

Функция читает одиночный символ с клавиатуры (без отображения на экране). Возвращаемое значение – прочитанный символ.

Пример

#include <conio.h>

#include <stdio.h>

#define ESC 27

 

void main(void)

{

clrscr();

 

if(getch()!=ESC)

printf("Simvol vveden\n"); /* нажата любая клавиша кроме ESC*/

else

printf("Simvol ne vveden \n");/* нажата клавиша ESC*/

return 0;

}

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: