Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Здесь есть возможность читать онлайн «Стивен Барретт - Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: Издательский дом «ДМК-пресс», Жанр: Компьютерное железо, Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Рис 810Стек Структура данных стека разработаны ли они с использованием - фото 306

Рис. 8.10.Стек

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

initialize_stack: инициализация стека;

push: поместить элемент в стек;

pull: извлечь элемент из стека;

stack_empty: выяснить, не пуст ли стек. Это необходимо сделать до использования функции pull;

stack_full: выяснить, не полон ли стек. Это необходимо сделать до использования функции push;

print_stack: распечатать содержимое стека.

Основные операции стека показаны на рис. 8.11.

Рис 811Операции со стеком Следующий программный код реализует стек с - фото 307

Рис. 8.11.Операции со стеком

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

/********************************************************************/

/* имя файла: stack.с */

/********************************************************************/

/*включенные файлы*/

#include /*стандартная библиотека I/O */

#include /*стандартная библиотека динамического распределения*/

/*global variables - объявляет глобальные переменные в header file. */

/* Они приведены здесь, чтобы иллюстрировать общее построение программы.*/

/*определение структуры*/

struct stack_struct {

int stack_top; /*следующая используемая позиция в стеке*/

int stack_item[10]; /*элемент, сохраненный в стеке с фиксированным размером */

}

typedef struct stack_struct stack; /*массив для распознавания имен различных переменных*/

typedef stack *stack_ptr; /*определение указателей на стек */

/*функции-прототипы*/

void initialize_stack(stack);

void push(stack*, int); /*Используется метод передачи параметра по ссылке*/

int pull(stack *); /* когда содержимое стека должно измениться */

int stack_empty(stack);

int stack_full(stack);

void print_stack(stack);

/*переменные*/

int YES=1,NO=0; /*логические флаги */

stack stack1; /*объявление стека */

char *filename;

FILE *outputfile;

void main(void) {

int response;

int stack_item;

/*печать результата в файл/

printf("\n\nEnter a filename for output.");

scanf("%s", filename);

outputfile = fopen(filename, "a");

initialize_stack(stack1);

response = stack_empty(stack1); /*вызов по значению */

response = stack_full(stack1);

print_stack(stack1);

push(&stack1, 11); /*вызов по ссылке */

push(&stack1, 12);

push(&stack1, 13);

push{&stack1, 14);

print_stack(stack1);

pull(&stack1);

pull(&stack1);

pull(&stack1);

pull(&stack1);

pull(&stack1);

fclose(outputfile); /*закрыть выходной файл */

}

/********************************************************************/

/*initialize_stack: установить указатель вершины стека в 0 */

/********************************************************************/

void initialize_stack(stack a_stack) {

a_stack.stack_top=0; /*установить указатель стека в 0*/

}

/********************************************************************/

/*stack_empty: возвращает ДА если стек пуст, и НЕТ в противном случае */

/********************************************************************/

int stack_empty(stack a_stack){

fprintf(outputfile, "\n\nStack top: %d", a_stack.stack_top);

if (a_stack.stack_top == 0) /*проверить не пуст ли стек*/

{

fprintf(outputfile, "\nStack Empty!");

return YES;

} else {

fprintf(outputfile, "\nStack is not empty.");

return NO;

}

}

/********************************************************************/

/*stack_full: возвращает ДА если стек полон, и НЕТ в противном случае */

/********************************************************************/

int stack_full(stack a_stack) {

if (a_stack.stack_top == 10) /*проверить не заполнен ли стек */

{ /*произвольный выбор предела стека */

fprintf(outputfile, "\n\nStack Full!");

return YES;

} else {

fprintf(outputfile, "\n\nStack is not full.");

return NO;

}

}

/********************************************************************/

/*print_stack: печать текущего элемента (на вершине стека) */

/********************************************************************/

void print_stack(stack a_stack) {

int i;

if (!(stack_empty(a_stack)))/*проверить не пуст ли стек перед печатью*/

{ /*перейти к основанию стека перед печатью */

for(i = a_stack.stack_top; i>=0; i=i-1)

fprintf(outputfile, "\nStack item: %d", a_stack.stack_item[i]);

} else fprintf(outputfile,"\nCannot print - stack is empty!");

}

/********************************************************************/

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С»

Представляем Вашему вниманию похожие книги на «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Ліза Фельдман Барретт - 7 1/2 уроків про мозок
Ліза Фельдман Барретт
Отзывы о книге «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С»

Обсуждение, отзывы о книге «Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x