Страница 1 из 1

Проблемы с pic16f676.

Добавлено: Пн янв 12, 2015 23:04:34
RNV
Впервые сталкнулся с такой проблемой, не могу разделить порт А, делаю динамическую индикацию, порт В отрабатывает нормально, а порт А, как будто завязан между собой. Если выдаёшь сигнал на один из выводов порта А, то на другом выводе порта А сигнал пропадает. В чём может быть причина, с другими МК, такого никогда небыло.

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 05:03:57
vladlen-from-vrtp
Скорее всего проблема в принципе RMW.
Здесь почитать.

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 09:01:40
RNV
Что то не очень понытно. Пишу в FC , есть ли какие команды что бы убрать проблему?

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 09:17:56
-=Vovka=-
FC что за зверь?

А по теме: RMW или чтение-модификация-запись.
Если ты меняешь один бит на порту, то МК делает так:
- считывает значение из порта
- модифицирует бит
- записывает результат обратно в порт.
Вот вся пакость кроется в считывании с порта.
Простое решение: заведи переменную, которая будет копией значения, выведенного в порт.
Вот ее и изменяй, а потом выводи в порт.
Типа так:

Код: Выделить всё

unsigned char OutPortA;
OutPortA = 0;
PORTA = OutPortA;
...
OutPortA |= 0b11001101;
PORTA = OutPortA;

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 09:29:34
RNV
FC- это FlowCode Дак это что особенность этого МК что ли? Раньше с ним не работал С другими проблем небыло. Как я понял, нужно не напрямую управлять битами порта, а через переменную, так? И почему это проблема только с портом А?

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 11:42:19
-=Vovka=-
RNV писал(а):FC- это FlowCode Дак это что особенность этого МК что ли? Раньше с ним не работал С другими проблем небыло.
Если есть желание научиться программировать, чтоб в дальнейшем не прославиться извините, "быдлокодером", советую избавиться от FlowCode и начать с ассемблера или в крайнем случае с си. И не пользоваться Протеусами и им подобными. Тогда будет опыт и подобных элементарный вопросов по особенностям МК возникать не будет, да и если что-то не работает, то можно было бы спокойно глянуть дизассемблерный текст и понять в чем не прав компилятор, хотя в 99% виноват программист.
А вот когда научитесь программировать, вот тогда можно уже и за что-то по серьезней браться.
Потом скачать даташит на этот МК с [url=microchip.com]microchip.com[/url] - там все разжевано. Если проблема с английским, то есть русские переводы, но как правило в них присутствуют ошибки.
RNV писал(а):Как я понял, нужно не напрямую управлять битами порта, а через переменную, так?
Я уже выше объяснил, уже и код привел...
RNV писал(а):И почему это проблема только с портом А?
Эта проблема с любым портом, учим даташит...

Удачи!

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 16:17:14
Enigm
А что так слабо асемблер всего ?
Давайте уже сразу в ручную хекс писать. :)

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 16:22:41
Albert_V
ASM приучает к аккуратности написания текста программ и к тому, что вначале изучают pdf а потом пишут программу, а не наоборот.

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 17:13:55
rxstart1
не понимаю зачем заводить переменную, чтобы изменить бит, не проще ли сразу поменять его????

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 18:03:28
-=Vovka=-
Enigm писал(а):А что так слабо асемблер всего ?
Давайте уже сразу в ручную хекс писать. :)
Помнится как-то в начале 90-х занимался таким делом для КР580ВМ80, но тогда условия были не то, что сейчас :)

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 19:32:10
Enigm
Albert_V писал(а):ASM приучает к аккуратности написания текста программ и к тому, что вначале изучают pdf а потом пишут программу, а не наоборот.
Так это понятно, кто хочет писать компактно, тот и пишет на асме, а многим много от контроллера не надо и нет строгих задач, им достаточно и С или разных оболочек типа ФК .
Для домашних поделок и от случая к случаю, нет необходимости изучать асм , достаточно С и разных оболочек к нему.
Ну а кто серьезно занимается контроллерами тот уже и так знает на чем писать ))

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 19:58:01
Enigm
-=Vovka=- писал(а): Помнится как-то в начале 90-х занимался таким делом для КР580ВМ80, но тогда условия были не то, что сейчас :)
Эх были времена, где в 48к впихивали такие шедевры как Элита :)

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 20:09:46
Albert_V
Enigm, возможно, вы не правильно меня поняли. :facepalm:
"Ключево́е" в моих словах:
...вначале изучают pdf а потом пишут программу, а не наоборот.
:beer:
____
P.S.
А кто на чём пишет - можно и на ASM такое напахать, что :kill:

Re: Проблемы с pic16f676.

Добавлено: Вт янв 13, 2015 20:41:02
Enigm
Для простых поделок в той же среде ФК или Ардуино ПДФ и не нужон ))
А вот если нужно то что нереализованное в оболочках, то да даташит наше все .
Хотя даташит и так наше все, но не во всех случаях и не везде он обьязателен.
У меня есть знакомый ремонтник телеков и прочей техники, так он даже и не знает что такое даташит и нечего работает, криво косо но работает уже лет 15 :)
Все зависит от желания возможностей и качества нужной поделки.