Проблемы с pic16f676.
Проблемы с pic16f676.
Впервые сталкнулся с такой проблемой, не могу разделить порт А, делаю динамическую индикацию, порт В отрабатывает нормально, а порт А, как будто завязан между собой. Если выдаёшь сигнал на один из выводов порта А, то на другом выводе порта А сигнал пропадает. В чём может быть причина, с другими МК, такого никогда небыло.
- Реклама
-
vladlen-from-vrtp
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Чт май 01, 2014 07:28:15
Re: Проблемы с pic16f676.
Скорее всего проблема в принципе RMW.
Здесь почитать.
Здесь почитать.
Re: Проблемы с pic16f676.
Что то не очень понытно. Пишу в FC , есть ли какие команды что бы убрать проблему?
Re: Проблемы с pic16f676.
FC что за зверь?
А по теме: RMW или чтение-модификация-запись.
Если ты меняешь один бит на порту, то МК делает так:
- считывает значение из порта
- модифицирует бит
- записывает результат обратно в порт.
Вот вся пакость кроется в считывании с порта.
Простое решение: заведи переменную, которая будет копией значения, выведенного в порт.
Вот ее и изменяй, а потом выводи в порт.
Типа так:
А по теме: RMW или чтение-модификация-запись.
Если ты меняешь один бит на порту, то МК делает так:
- считывает значение из порта
- модифицирует бит
- записывает результат обратно в порт.
Вот вся пакость кроется в считывании с порта.
Простое решение: заведи переменную, которая будет копией значения, выведенного в порт.
Вот ее и изменяй, а потом выводи в порт.
Типа так:
Код: Выделить всё
unsigned char OutPortA;
OutPortA = 0;
PORTA = OutPortA;
...
OutPortA |= 0b11001101;
PORTA = OutPortA;
Re: Проблемы с pic16f676.
FC- это FlowCode Дак это что особенность этого МК что ли? Раньше с ним не работал С другими проблем небыло. Как я понял, нужно не напрямую управлять битами порта, а через переменную, так? И почему это проблема только с портом А?
- Реклама
Re: Проблемы с pic16f676.
Если есть желание научиться программировать, чтоб в дальнейшем не прославиться извините, "быдлокодером", советую избавиться от FlowCode и начать с ассемблера или в крайнем случае с си. И не пользоваться Протеусами и им подобными. Тогда будет опыт и подобных элементарный вопросов по особенностям МК возникать не будет, да и если что-то не работает, то можно было бы спокойно глянуть дизассемблерный текст и понять в чем не прав компилятор, хотя в 99% виноват программист.RNV писал(а):FC- это FlowCode Дак это что особенность этого МК что ли? Раньше с ним не работал С другими проблем небыло.
А вот когда научитесь программировать, вот тогда можно уже и за что-то по серьезней браться.
Потом скачать даташит на этот МК с [url=microchip.com]microchip.com[/url] - там все разжевано. Если проблема с английским, то есть русские переводы, но как правило в них присутствуют ошибки.
Я уже выше объяснил, уже и код привел...RNV писал(а):Как я понял, нужно не напрямую управлять битами порта, а через переменную, так?
Эта проблема с любым портом, учим даташит...RNV писал(а):И почему это проблема только с портом А?
Удачи!
- Enigm
- Говорящий с текстолитом
- Сообщения: 1663
- Зарегистрирован: Вт апр 03, 2012 20:36:41
- Откуда: Сочи
Re: Проблемы с pic16f676.
А что так слабо асемблер всего ?
Давайте уже сразу в ручную хекс писать.
Давайте уже сразу в ручную хекс писать.
- Albert_V
- Друг Кота
- Сообщения: 4119
- Зарегистрирован: Чт сен 12, 2013 00:54:12
- Откуда: ЗаМКАДье. Там, где ЦУП
Re: Проблемы с pic16f676.
ASM приучает к аккуратности написания текста программ и к тому, что вначале изучают pdf а потом пишут программу, а не наоборот.
С Уважением, Альберт (Albert_V).
- rxstart1
- Вымогатель припоя
- Сообщения: 508
- Зарегистрирован: Пт фев 22, 2013 18:00:43
- Откуда: Беларусь, г. Гомель
Re: Проблемы с pic16f676.
не понимаю зачем заводить переменную, чтобы изменить бит, не проще ли сразу поменять его????
Re: Проблемы с pic16f676.
Помнится как-то в начале 90-х занимался таким делом для КР580ВМ80, но тогда условия были не то, что сейчасEnigm писал(а):А что так слабо асемблер всего ?
Давайте уже сразу в ручную хекс писать.
- Enigm
- Говорящий с текстолитом
- Сообщения: 1663
- Зарегистрирован: Вт апр 03, 2012 20:36:41
- Откуда: Сочи
Re: Проблемы с pic16f676.
Так это понятно, кто хочет писать компактно, тот и пишет на асме, а многим много от контроллера не надо и нет строгих задач, им достаточно и С или разных оболочек типа ФК .Albert_V писал(а):ASM приучает к аккуратности написания текста программ и к тому, что вначале изучают pdf а потом пишут программу, а не наоборот.
Для домашних поделок и от случая к случаю, нет необходимости изучать асм , достаточно С и разных оболочек к нему.
Ну а кто серьезно занимается контроллерами тот уже и так знает на чем писать ))
Последний раз редактировалось Enigm Вт янв 13, 2015 20:43:05, всего редактировалось 1 раз.
- Enigm
- Говорящий с текстолитом
- Сообщения: 1663
- Зарегистрирован: Вт апр 03, 2012 20:36:41
- Откуда: Сочи
Re: Проблемы с pic16f676.
Эх были времена, где в 48к впихивали такие шедевры как Элита-=Vovka=- писал(а): Помнится как-то в начале 90-х занимался таким делом для КР580ВМ80, но тогда условия были не то, что сейчас
- Albert_V
- Друг Кота
- Сообщения: 4119
- Зарегистрирован: Чт сен 12, 2013 00:54:12
- Откуда: ЗаМКАДье. Там, где ЦУП
Re: Проблемы с pic16f676.
Enigm, возможно, вы не правильно меня поняли. 
"Ключево́е" в моих словах:
____
P.S.
А кто на чём пишет - можно и на ASM такое напахать, что
"Ключево́е" в моих словах:
...вначале изучают pdf а потом пишут программу, а не наоборот.
____
P.S.
А кто на чём пишет - можно и на ASM такое напахать, что
С Уважением, Альберт (Albert_V).
- Enigm
- Говорящий с текстолитом
- Сообщения: 1663
- Зарегистрирован: Вт апр 03, 2012 20:36:41
- Откуда: Сочи
Re: Проблемы с pic16f676.
Для простых поделок в той же среде ФК или Ардуино ПДФ и не нужон ))
А вот если нужно то что нереализованное в оболочках, то да даташит наше все .
Хотя даташит и так наше все, но не во всех случаях и не везде он обьязателен.
У меня есть знакомый ремонтник телеков и прочей техники, так он даже и не знает что такое даташит и нечего работает, криво косо но работает уже лет 15
Все зависит от желания возможностей и качества нужной поделки.
А вот если нужно то что нереализованное в оболочках, то да даташит наше все .
Хотя даташит и так наше все, но не во всех случаях и не везде он обьязателен.
У меня есть знакомый ремонтник телеков и прочей техники, так он даже и не знает что такое даташит и нечего работает, криво косо но работает уже лет 15
Все зависит от желания возможностей и качества нужной поделки.


