еретворимо символ (c == '0 ') sample.info [i] & = ~ (1 <
} (" n") ;//Переклад рядка
} (& sample, sizeof (sample), 1, out) ;//Записати структуру у файл (out) ;//Закрити файл
}
Програма binsend зчитує послідовність з файлу і надсилає його через шину даних в пристрій.
Текст програми:
# include // Необхідна для роботи зі структурами
# include // Необхідна для роботи з файлами
# include // Містить функції outp (); outpw ();
# define Q 1024// Замінює 1024 ідентифікатором Qlevel ;//Змінна для зберігання вихідного уровняadrRAM = 0x36E ;//Адреса для запису в ОЗУBIN1K// Структура BIN1K
{info [Q] ;//Масив змінних типу WORD
} sample; main ()
{("Виберіть вихідні рівні (ТТЛ-1; файл для читання в двійковому вигляді
fread (& sample, sizeof (sample), 1, in) ;//Записати файл у структуру
fclose (in) ;//Закрити файл
_outp (0x360, 0) ;//Вимкнули ключ
_outp (0x362, 0) ;//Перетворювач рівня в Z-стан
_outp (0x368, 0) ;//Нарощування лічильника за адресою 0x36E
_outp (0x364, 0) ;//Обнулити лічильник
_outp (0x366, 1) ;//Вимкнути лічильник
_outp (0x364, 1) ;//-// -
_outp (0x36A, 0) ;//Запис у перші два байти ОЗУ
_outp (0x36C, 1) ;//-// -
_outpw (adrRAM, sample.info [0]) ;//Запис у нульову комірку ОЗУ
_outp (0x366, 0) ;//Включити лічильник (int i = 2; i
{
_outpw (adrRAM, sample.info [i]) ;//Запис в ОЗУ перших двох байтів
}
_outp (0x364, 0) ;//Обнулити лічильник
_outp (0x366, 1) ;//Вимкнути лічильник
_outp (0x364, 1) ;//-// -
_outp (0x36A, 1) ;//Запис у другі два байти ОЗУ
_outp (0x36C, 0) ;//-// -
_outpw (adrRAM, sample.info [1]) ;//Запис у нульову комірку ОЗУ
_outp (0x366, 0) ;//Включити лічильник (i = 3; i
{
_outpw (adrRAM, sample.info [i]) ;//Запис в ОЗУ других двох байтів
} (level == '1 ') _outp (0x360, 1) ;//Якщо ТТЛ, включили ключ (level == '0') _outp (0x362, 1) ;//Якщо КМОП , включили перетворювач
_outp (0x364, 0) ;//Обнулити лічильник
_outp ...