Поклонники продукции Microchip Technology Inc тусуются тут.
Ср фев 09, 2011 00:26:42
Ну ладно:). Вопрос. Прочитал что есть команда перехода GOTO, но как ей пользоваться толком не написано.
К промеру:
_____ какойто текст програмы_______
if (ra1 == 0)
{
if (ra1==1)
porb = 255;
else
goto ( тут нада перейти на if которая после открытой фигурки. Но как?)
}
else
{
какоето действие
}
Cмысл в том что при нажатии у на кннопку у нас ra1 имеет на ноге нлу и програма уходит в первые фигурки где должна зациклится пока на ноге снова не появится влу. ( тоесть ждёт когда мы отожмём кнопку).
Ср фев 09, 2011 00:33:13
нафиг семисегментники проводов много толку мало.
лсд c spi самое то!.особенно для отладки
.если это не часы которые надо видеть с 3х метров
Ср фев 09, 2011 00:42:22
misterkuk
надо сделать метку
например
Label1:
if (A==B) { GOTO Label1 ; }
Ср фев 09, 2011 09:05:39
Cмысл в том что при нажатии у на кннопку у нас ra1 имеет на ноге нлу и програма уходит в первые фигурки где должна зациклится пока на ноге снова не появится влу.
- Код:
if (!ra1)
{
porb = 255;
while(!ra1);
}
else
{
какоето действие
}
Ср фев 09, 2011 11:24:11
Аlex
А можно подробней про логику вашего примера? И особенно интересует знак "!" перед ra.
Залез в учебник но там написано так как будто мы это уже знаем. Прошу объяснить на пальцах:)
_____
Хочу разобраться с константами и переменными.
Прочитав я понял что если переменная объявляется в функции, то после окончания функции она пропадает. Это насколько я понял локальная переменная. Что такое глобальная переменная я так нигде не нашол ( в одном учебнике говорилось что определение давалось в начале, прочитал 5 рас я это начало, так и не нашол). Осмелюсь предположить что ето переменная которая определяется до функции "MAIN" или после неё сразу и её можно передавать функциям и изменять функциями. Вот тут прошу внести ясность. Если не прав то как правильно, если не всё то прошу дополнить.
Ср фев 09, 2011 13:30:45
этот знак ! означает НЕ
!= НЕ равно
!> НЕ больше
!< не меньше
я незнаю где вы читали ,но вот сдесь все четко написано
http://www.labkit.ru/html/C_for_PIC?id=405что касаеться типов данных ,написанно сдесь
http://www.labkit.ru/html/C_for_PIC?id=251Глобальная переменная объявляеться вне функции ,и может быть использована другими функциями
локальная объявляеться внутри функции, и не может быть использована другими функциями
Ср фев 09, 2011 14:25:00
vovik15 писал(а):этот знак ! означает НЕ
!= НЕ равно
!> НЕ больше
!< не меньше
я незнаю где вы читали ,но вот сдесь все четко написано
http://www.labkit.ru/html/C_for_PIC?id=405что касаеться типов данных ,написанно сдесь
http://www.labkit.ru/html/C_for_PIC?id=251Глобальная переменная объявляеться вне функции ,и может быть использована другими функциями
локальная объявляеться внутри функции, и не может быть использована другими функциями
Про просто восклицательный знак не написано:) . Только написано что | - не.
Ну эта палка на восклицание не очень схожа
.
Ну да ладно, это мелочь.
И всётаки как понимать?
(!RA) Тоесть НЕ ra. Что это даёт?
Ср фев 09, 2011 14:40:05
!RA0 говорит о том, что RA0 == 0
Ср фев 09, 2011 18:52:04
vovik15 писал(а):!> НЕ больше
!< не меньше
Таких условий в Си нет.
Не больше = МЕНЬШЕ
Не меньше = БОЛЬШЕ
Есть:
> больше
>= больше или равно
= равно
!= не равно
<= меньше или равно
< меньше
Ср фев 09, 2011 19:43:58
традация соблюдается и в этой теме
вопросы конкретно по языку Си вдруг приплетаются к PIC... по-моему, если кто-то не знает Си, так и разбираться надо с Си - контроллер тут совершенно ни при чем!
Ср фев 09, 2011 22:29:29
ut1wpr писал(а):vovik15 писал(а):!> НЕ больше
!< не меньше
Таких условий в Си нет.
Не больше = МЕНЬШЕ
Не меньше = БОЛЬШЕ
Есть:
> больше
>= больше или равно
= равно
!= не равно
<= меньше или равно
< меньше
ну ошибся чуть чуть
бывает
Чт фев 10, 2011 20:29:17
ARV писал(а):традация соблюдается и в этой теме
вопросы конкретно по языку Си вдруг приплетаются к PIC... по-моему, если кто-то не знает Си, так и разбираться надо с Си - контроллер тут совершенно ни при чем!
А что делать, если спрашивающий полный профан и в PIC-ах и в Си?
Вот и слились воедино...
Чт фев 10, 2011 23:04:09
так с частотомером и не помогли
Пт фев 11, 2011 08:32:46
ut1wpr писал(а):А что делать, если спрашивающий полный профан и в PIC-ах и в Си?
Вот и слились воедино...
что делать? вот что:
1. вопросы по Си отсылать в соответствующую тему про Си/С++
2. вопросы про конкретно PIC-и отсылать в тему про PIC-и
3. в одну кучу не мешать все.
интересно, а куда делись модераторы?
Пт фев 11, 2011 10:17:42
Давайте не не будем. ARV , вы предлагаете в одной теме спрашивать одну часть вопроса а в другой другую, а потом бегать по веткам собирать всё в кучю. Это мусар и безобразие, тем более что вопросов по пик тут небыло вроде. Си учебники написаны для для написания программ для компьютера. Там не описаны моменты связаные с МК даже банальной настройки портов на ввод или вывод.
Данная тема является местом обсуждения языка си применимого для написания програм для Мк а не для компьютеров. Разница есть.
Си и си для пик разные вещи,- основа одна а специфика разная.
_____
Всётаки , можете дать материал где почитать про сопряжение лсд и мк и програмно ни си.
Пт фев 11, 2011 10:30:51
когда задаются вопросы про то, что такое != или |= - это какое отношение к МК имеет? настройка порта МК заключается в использовании определенного оператора Си для записи в регистр определенного числа. То, как этот регистр называется и какое число туда писать - не имеет отношения к Си, и об этом надо говорить в теме про конкретный тип МК. то, какой оператор использовать и почему - не имеет отношения к МК, зато имеет отношение к Си - об этом надо говорить в теме про Си.
создается впечатление, что Си - это не кроссплатформенный язык, и его надо рассматривать только в связи с конкретной платформой в виде МК...
если вы так думаете на самом деле - мне вас жаль, вы не научитесь программированию... незание Си не оправдывается особенностями МК...
Пт фев 11, 2011 23:22:37
переписал частотомер чтобы не было переполнения таймера
- Код:
freq=0;
for (i=1;i<=100;i++)
{
TMR1H=0;TMR1L=0;
T1CON=0b00000111 ;// 00 = 1:1 Prescale value;;; 0 = Oscillator is shut off;;; 1 = Do not synchronize external clock input;;;;
//1 = External clock from pin RB6/T1OSO/T1CKI/PGC (on the rising edge);; 1 = Enables Timer1
__delay_ms(1);
T1CON=0b00000110 ;// 0 = disable Timer1(lowers bit)
freq=(long)TMR1H<<8+TMR1L +freq;
}
freq=freq*10; //
я думаю точность будет 20 гц?
Сб фев 12, 2011 11:18:33
12val12 писал(а):- Код:
freq=(long)TMR1H<<8+TMR1L +freq;
В этом выражении ошибка (читайте о приоритетах операций)
Сб фев 12, 2011 11:32:53
testerplus писал(а):12val12 писал(а):- Код:
freq=(long)TMR1H<<8+TMR1L +freq;
В этом выражении ошибка (читайте о приоритетах операций)
и какое отношение к PIC-контроллерам эта ошибка имеет?!
(это я к ранее затронутой проблеме о разделении вопросов про Си и про PIC)
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.