Проект умный дом
Код программы верхнего уровня (полный код можно скачать ниже)
#include <vcl.h> #pragma hdrstop #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <winbase.h> #include <string.h> #include <mmsystem.hpp> #include <io.h> //для работы с файлами #include <fcntl.h> //для работы с файлами #include <sys\stat.h> //для работы с файлами #include "Unt1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //============================================================================= //..................... объявления глобальных переменных ...................... //============================================================================= #define BUFSIZE 255 //ёмкость буфера unsigned char bufrd[BUFSIZE], bufwr[BUFSIZE]; //приёмный и передающий буферы //--------------------------------------------------------------------------- HANDLE COMport; //дескриптор порта //структура OVERLAPPED необходима для асинхронных операций, при этом для операции чтения и записи нужно объявить разные структуры //эти структуры необходимо объявить глобально, иначе программа не будет работать правильно OVERLAPPED overlapped; //будем использовать для операций чтения (см. поток ReadThread) OVERLAPPED overlappedwr; //будем использовать для операций записи (см. поток WriteThread) |
Код программы нижнего уровня (полный код можно скачать ниже)
//--------------------------------includes--------------------------------// #include <c8051F310.H> #include <STDIO.H> #include <math.h> #include "binary_c.H" //--------------------------defines and variables-------------------------// data unsigned int CLOCKS=0; data unsigned int pixel=0; long SYS = 24500000; sbit CLK = P2^2; //clocking sbit ST = P2^3; //start pulse sbit EOS = P2^4; //end of signal (input from cmos-sensor) sfr16 TMR2RL = 0xca; // Timer2 reload value sfr16 TMR2 = 0xcc; // Timer2 counter sfr16 ADC0 = 0xbd; |