Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: Програмирование pic на СИ.

Ср фев 09, 2011 00:26:42

Ну ладно:). Вопрос. Прочитал что есть команда перехода GOTO, но как ей пользоваться толком не написано.
К промеру:
_____ какойто текст програмы_______
if (ra1 == 0)
{
if (ra1==1)
porb = 255;
else
goto ( тут нада перейти на if которая после открытой фигурки. Но как?)
}
else
{
какоето действие
}
Cмысл в том что при нажатии у на кннопку у нас ra1 имеет на ноге нлу и програма уходит в первые фигурки где должна зациклится пока на ноге снова не появится влу. ( тоесть ждёт когда мы отожмём кнопку).

Re: Програмирование pic на СИ.

Ср фев 09, 2011 00:33:13

нафиг семисегментники проводов много толку мало.
лсд c spi самое то!.особенно для отладки
.если это не часы которые надо видеть с 3х метров

Re: Програмирование pic на СИ.

Ср фев 09, 2011 00:42:22

misterkuk
надо сделать метку
например
Label1:

if (A==B) { GOTO Label1 ; }

Re: Програмирование pic на СИ.

Ср фев 09, 2011 09:05:39

Cмысл в том что при нажатии у на кннопку у нас ra1 имеет на ноге нлу и програма уходит в первые фигурки где должна зациклится пока на ноге снова не появится влу.

Код:
if (!ra1)
{
  porb = 255;
  while(!ra1);
}
else
{
  какоето действие
}

Re: Програмирование pic на СИ.

Ср фев 09, 2011 11:24:11

Аlex
А можно подробней про логику вашего примера? И особенно интересует знак "!" перед ra.
Залез в учебник но там написано так как будто мы это уже знаем. Прошу объяснить на пальцах:)
_____
Хочу разобраться с константами и переменными.
Прочитав я понял что если переменная объявляется в функции, то после окончания функции она пропадает. Это насколько я понял локальная переменная. Что такое глобальная переменная я так нигде не нашол ( в одном учебнике говорилось что определение давалось в начале, прочитал 5 рас я это начало, так и не нашол). Осмелюсь предположить что ето переменная которая определяется до функции "MAIN" или после неё сразу и её можно передавать функциям и изменять функциями. Вот тут прошу внести ясность. Если не прав то как правильно, если не всё то прошу дополнить.

Re: Програмирование pic на СИ.

Ср фев 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
Глобальная переменная объявляеться вне функции ,и может быть использована другими функциями
локальная объявляеться внутри функции, и не может быть использована другими функциями

Re: Програмирование pic на СИ.

Ср фев 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. Что это даёт?

Re: Програмирование pic на СИ.

Ср фев 09, 2011 14:40:05

!RA0 говорит о том, что RA0 == 0

Re: Програмирование pic на СИ.

Ср фев 09, 2011 18:52:04

vovik15 писал(а):!> НЕ больше
!< не меньше

Таких условий в Си нет.
Не больше = МЕНЬШЕ
Не меньше = БОЛЬШЕ
Есть:
> больше
>= больше или равно
= равно
!= не равно
<= меньше или равно
< меньше

Re: Програмирование pic на СИ.

Ср фев 09, 2011 19:43:58

традация соблюдается и в этой теме :kill:
вопросы конкретно по языку Си вдруг приплетаются к PIC... по-моему, если кто-то не знает Си, так и разбираться надо с Си - контроллер тут совершенно ни при чем!

Re: Програмирование pic на СИ.

Ср фев 09, 2011 22:29:29

ut1wpr писал(а):
vovik15 писал(а):!> НЕ больше
!< не меньше

Таких условий в Си нет.
Не больше = МЕНЬШЕ
Не меньше = БОЛЬШЕ
Есть:
> больше
>= больше или равно
= равно
!= не равно
<= меньше или равно
< меньше

ну ошибся чуть чуть :) бывает

Re: Програмирование pic на СИ.

Чт фев 10, 2011 20:29:17

ARV писал(а):традация соблюдается и в этой теме :kill:
вопросы конкретно по языку Си вдруг приплетаются к PIC... по-моему, если кто-то не знает Си, так и разбираться надо с Си - контроллер тут совершенно ни при чем!
А что делать, если спрашивающий полный профан и в PIC-ах и в Си? :(
Вот и слились воедино... :)) :)

Re: Програмирование pic на СИ.

Чт фев 10, 2011 23:04:09

так с частотомером и не помогли

Re: Програмирование pic на СИ.

Пт фев 11, 2011 08:32:46

ut1wpr писал(а):А что делать, если спрашивающий полный профан и в PIC-ах и в Си? :(
Вот и слились воедино... :)) :)

что делать? вот что:
1. вопросы по Си отсылать в соответствующую тему про Си/С++
2. вопросы про конкретно PIC-и отсылать в тему про PIC-и
3. в одну кучу не мешать все.

интересно, а куда делись модераторы?

Re: Програмирование pic на СИ.

Пт фев 11, 2011 10:17:42

Давайте не не будем. ARV , вы предлагаете в одной теме спрашивать одну часть вопроса а в другой другую, а потом бегать по веткам собирать всё в кучю. Это мусар и безобразие, тем более что вопросов по пик тут небыло вроде. Си учебники написаны для для написания программ для компьютера. Там не описаны моменты связаные с МК даже банальной настройки портов на ввод или вывод.
Данная тема является местом обсуждения языка си применимого для написания програм для Мк а не для компьютеров. Разница есть.
Си и си для пик разные вещи,- основа одна а специфика разная.
_____
Всётаки , можете дать материал где почитать про сопряжение лсд и мк и програмно ни си.

Re: Програмирование pic на СИ.

Пт фев 11, 2011 10:30:51

когда задаются вопросы про то, что такое != или |= - это какое отношение к МК имеет? настройка порта МК заключается в использовании определенного оператора Си для записи в регистр определенного числа. То, как этот регистр называется и какое число туда писать - не имеет отношения к Си, и об этом надо говорить в теме про конкретный тип МК. то, какой оператор использовать и почему - не имеет отношения к МК, зато имеет отношение к Си - об этом надо говорить в теме про Си.

создается впечатление, что Си - это не кроссплатформенный язык, и его надо рассматривать только в связи с конкретной платформой в виде МК...


если вы так думаете на самом деле - мне вас жаль, вы не научитесь программированию... незание Си не оправдывается особенностями МК...

Re: Програмирование pic на СИ.

Пт фев 11, 2011 11:34:10

Здесь очень интересный опыт:) http://vrtp.ru/index.php?showtopic=10583&hl=

Re: Програмирование pic на СИ.

Пт фев 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 гц?

Re: Програмирование pic на СИ.

Сб фев 12, 2011 11:18:33

12val12 писал(а):
Код:
    freq=(long)TMR1H<<8+TMR1L +freq;

В этом выражении ошибка (читайте о приоритетах операций)

Re: Програмирование pic на СИ.

Сб фев 12, 2011 11:32:53

testerplus писал(а):
12val12 писал(а):
Код:
    freq=(long)TMR1H<<8+TMR1L +freq;

В этом выражении ошибка (читайте о приоритетах операций)

и какое отношение к PIC-контроллерам эта ошибка имеет?!
(это я к ранее затронутой проблеме о разделении вопросов про Си и про PIC)
Ответить