Сообщение от picavr
|
Сообщение от kos_ua
|
Прерывание по системному таймеру я настроил на 50мс.
|
Ок. Напишу функции для таймера1 для задания периода и настройки прерывания таймера1 по переполнению.
И вызов прерывания таймера1. Под AVR и PIC/
А порты вы опрашиваете весь сразу.. или побитно?
Т.Е. читаете порт в регист и там отбрабатываете.. то же самое с выводом в порт?
Как это обрабатывается?
Интересуют те функции которые работают с модулями самого МК.
FreeScan... это обработка модулей контролера?
|
FreeScan это подпрограмма.
//-------Функцию main------
void main(void)
{
initialize_system();
Int_OnStart(); // OnStartUp function
while(1)
{
IO_Input(); // Read from input
FreeCycle(); // Free Scan
IO_Output(); // Write to output
}
}
Теперь о функциях IO_Input() и IO_Output()
На данный момент они выглядят вот так:
void IO_Input(void) // Read Data from all modules
{
iI[0]=P1;
}
void IO_Output(void) // Write Data to all modules
{
P3=iQ[0];
}
Для того чтоб их написать надо знать железку к чему пишем
Если смотреть например CoDeSys то у них первое есть конфигуратор железа и второе на основе этого конфигуратора они вызывают функции IO_Output и в параметрах подставляют указатель на область памяти и размер в этой области...
Так что тут наверное надо отдельно вынести в ini фаил код данных функций чтобы каждый мог их для себя модифицировать....а программа просто тупо подключит эти функции как external.
Вот что я думаю по этому поводу.
И еще...если кто знает Делфи то могу скинуть исходник программы...может тогда дела пойдут быстрее)))
ЗЫ....Конечно всем не дам...только тем кто в теме)))
Я тут оптимизировал(подготовил) си код для разных процов...8051 АВР ПИК.
Поэтому выкладываю новую версию.
В итоге что получилось:
1. В теле основной программы находятся только вызовы функций которые мы нарисовали в редакторе.
2. В основной программе подключены два модуля(io.h, function.h).
3. io.h это модуль который надо менять в зависимости от применяемого контроллера и железа. function.h это модуль где лежат все функции которые мы можем использовать в нашем проекте(ПИД таймер счётчик тригер И ИЛИ и тд)
В прикреплённом файле setup.exe и эти два модуля.
Прикрепленный файл:
3715809.rar