Свежие обсуждения
Микроконтроллеры

Программирование микроконтроллёров с "нуля".

1 3

Chui-никаких обид,да и как обижаться на людей(узбеки что ли?) ,которых к примеру просишь показать рубашку,
а они говорят-"вот посмотрите брюки"-ненада мне ССР,МНЕ ПРОГРАМНЫЙ НАДО!,потому как
есть и недорого smd пики629 и 675 и русс.даташит и крохатные габариты устройства должны быть!
(исходник-16ф628 просто типа "рыба").Спорить на тему-какой компель проще или лучше нафик нада,
подмечу только что 50% программы с помощью книжки Предко уже есть, и на мой взгляд книга проще Шпака.Потом,все умные такие советовать!,а кусок кода-то слабо написАть!?

 

Нет не слабо а нет времени реально.

Вы просите рубашку для ношения на ногах, поэтому я вам и говорю что на ноги БОЛЬШИНСТВО ЛЮДЕЙ надевают БРЮКИ ! Хотя законом не запрещено и рубашку на ноги натянуть вместо брюк.

Только не обжайтесь - я действительно хочу вам помочь.

Если нетрудно прямо сюда прицепите не исходник а весь проект ! того что у вас есть - я попробую исправить. Вложите там коментарий где что не так и как должно быть.

Ради вас я готов и хайтеч поставить Вы меня здорово повесилили рубашкой надетой на ноги !

Просто копать ветку нет времени.

 

Вот проект к MPLAB+Hi-Tech и кусок проблемного кода:

//************** Здесь можно разместить код для установки других прерываний*****************
if(INTF) // Прерывание по входу PORT B0
{
on_RTC=RTC; // Записываем в переменную-on_RTC время начала сигнала
on_RTC != off_RTC; // Время начала и конца сигнала неравны.
off_RTC=RTC; // Записываем в переменную-off_RTC время окончания сигнала
off_RTC-on_RTC100; // Отделяем полезный сигналл(1,5мс) от периода между сигналлами(20мс)
A==off_RTC-on_RTC; //Записываем в переменную А время разности между прерываниями(время сигналла)
INTF=0; // сбросить флаг
}

214201.rar

 

хайтечей и хайтацдов 200 мб наставил .... прикольно !

Вопросы к вам:

1) Вот в этом куске кода

if(INTF) // Прерывание по входу PORT B0
{on_RTC=RTC; // Записываем в переменную-on_RTC время окончания сигнала
on_RTC != off_RTC; // Время начала и конца сигнала неравны.
off_RTC=RTC; // Записываем в переменную-off_RTC время начала сигнала
off_RTC-on_RTC100; // Отделяем полезный сигналл(1,5мс)
//от периода между сигналлами(20мс)
A==off_RTC-on_RTC; //Записываем в переменную А время
//разности между прерываниями(время сигналла)
INTF=0; // сбросить флаг }

Что вы хотели сделать ИМХО СТРАННЫМИ для Си строками ?

on_RTC != off_RTC; // Время начала и конца сигнала неравны.
off_RTC=RTC; // Записываем в переменную-off_RTC время начала сигнала

off_RTC-on_RTC100; // Отделяем полезный сигналл(1,5мс) от периода между сигналлами(20мс)

A==off_RTC-on_RTC; //Записываем в переменную А время
//разности между прерываниями(время сигналла)

Возможно язык Си для микроконтроллеров - pid.by.ru/05.htm - вам поможет разобраться.

=============

2) зачем case если светодиод выключени только при 0 ?????????

 
1 3