- •Понятие встраиваемых и мобильных систем, примеры использования
- •1 . Система дистанционного контроля теплоузла (переносной пульт для дистанционного контроля теплоузлов )
- •2. Асутп на платформе Bluetooth для PocketPc
- •Эволюциия встраиваемых систем
- •Характеристики встраиваемых систем. Технические требования
- •1. Минимизация стоимости электронных компонентов вс.
- •6. Возможность эксплуатации в широком температурном диапазоне.
- •7. Устойчивость к электромагнитным помехам.
- •Преимущества использования рс-совместимых контроллеров
- •Большое количество стандартных интерфейсов и совместимой с ними периферии.
- •Разработка программного обеспечения для встраиваемых систем
- •Этапы разработки по для систем реального времени
- •Использование ms-dos в качестве осрв
- •Int scanf (const char* format, …)// ввод
- •Int printf (const char* format, …)//вывод
- •Библиотека функций Advantech
- •Некоторые функции, необходимые для работы с файлами
- •Разработка программного модуля считывания /хранения/записи данных для контроллера adam5510m (Задача 1)
Некоторые функции, необходимые для работы с файлами
fopen()
Файл открывается посредством обращения к функции fopen():
pf = fopen ( name, mode );
здесь name - указатель на строку с именем файла, mode - строка, указывающая режим работы с файлом. fopen() возвращает поток или NULL, если попытка открыть файл оказалась неудачной.
Возможны следующие режимы работы с текстовыми файлами:
"r" |
чтение; |
"w"
|
файл создается для записи, старое содержимое (если оно было) уничтожается; |
"a" |
файл открывается или создается для записи в конец файла; |
"r+" |
исправление файла, то есть чтение и запись; |
"w+" |
файл создается для исправления; старое содержимое уничтожается; |
"a+"
|
файл открывается или создается для исправления и добавления в конец файла. |
Если указатель режима дополнить буквой b, например, "rb" или "r+b", то файл считается бинарным.
gets ( )
Функция получает строку символов из потока.
Синтаксис: char *gets(char *s); файл, содержащий прототип функции - stdio.h
/* gets example */
#include <stdio.h>
void main(void)
{
char string[80];
printf("Input a string:");
gets(string);
printf("The string input was: %s\n", string);
}
Результат работы:
Input a string: ADAM5510
The string input was: ADAM5510
3. strcat( )
Функция добавляет копию одной строки к другой
Синтаксис: char *strcat(char *dest, char *src);
Файл, содержащий прототип: string.h
Возвращаемое значение: указатель на соединенные строки
Пример:
#include <string.h>
#include <stdio.h>
void main(void)
{
char destination[25];
char *blank = " ", *c = "C++", *turbo = "Turbo";
strcat(destination, turbo);
strcat(destination,blank);
strcat(destination,c);
printf("%s\n",destination);
}
Результат работы:
Turbo С++
4. fputc ( )
Функция вывода символа в поток, прототип содержится в файле stdio.h.
Синтаксис: int fputc(int c, FILE * stream);
Описание: Функция fputc() выводит символ с в поток stream.
Возвращаемое значение в случае успеха - символ с, в случае ошибки – возвращается EOF (end of file).
Пример:
#include <stdio.h>
int main(void)
{
char msg[] = "Hello world\n";
int i=0;
while(msg[ i ])
{
fputc(msg[ i ],stdout);
i++;
}
return 0;
}
Результат: Hello world
5. itoa( )
Функция преобразует целое значение в строку символов.
Синтаксис: char *itoa(int value, char * string, int radix);
файл, содержащий прототип функции - stdlib.h
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int number = 12345;
char string[25];
itoa(number,string,10);
printf("Целое число: %d, строка: %s\n",number,string);
return 0;
}
Результат:
Целое число: 12345, строка: 12345
Разработка программного модуля считывания /хранения/записи данных для контроллера adam5510m (Задача 1)
Постановка задачи. Организовать прием аналоговых данных, представляющих собой значения выходного напряжения, поступающего с термодатчика типа ТСП с периодом 1 раз в с и дискретных данных, источником которых является кнопка без фиксации, подключенная к контакту №0 модуля 5050 контроллера ADAM5510M, установленного в слоте №1.
Д
атчик
подключен к контакту №0 модуля аналогового
ввода ADAM5017,
установленного в слот №3 (начиная с 0).
При отпущенной кнопке сигнал на ее выходе равен логической единице, при нажатии – логическому нулю.
Запрограммировать работу индикаторов (светодиодов) микроконтроллера.
Осуществить запись этих значений в файл с именем, указанным пользователем и хранящемся во flash-памяти (эмулятор HDD) контроллера ADAM5510M.
где «номер измерения» и «измеренное значение» разделены символом «пробел».
Программа просит пользователя ввести имя конечного файла, в котором будут храниться данные, считанные либо с аналогового датчика температуры ТСП–Н, либо цифровые данные, принятые от кнопки без фиксации.
Код модуля см. файл Задача_1.срр
