Бегущая строка
|
|
werewolf |
Дата: Ср, 22.09.2010, 17:46 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 01.07.2010
Статус:
Offline
|
Я заранее извиняюсь если этот вопрос уже был поиск ничего не дал. Так вот проблема в следующем допустим пишем самый простой код "бегущая строка" все светодиоды подключены путь будет порт В вывожу на PORTВ.0 = 1 PAUSE 500 PORTB.1 = 1 pause 500 PORTB.2 = 1 и т.д. так вот когда включаешь следующий светодиод гаснет предыдущий хотя я его не выключал у меня из-за этого столько проблем было в проектах почему он выключается сам?
|
|
|
|
deskjet |
Дата: Ср, 22.09.2010, 18:21 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
143
Замечания:
±
На сайте с 20.06.2009
Статус:
Offline
|
Какой контроллер?
За 20 8 дней ни одного сгоревшего микроконтроллера. PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
|
|
|
|
werewolf |
Дата: Ср, 22.09.2010, 19:01 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 01.07.2010
Статус:
Offline
|
контроллер 12F675 вот код: первая ножка под АЦП (причем если раскоментировать строку ;ansel = %00000001 то тогда последние ножки gpio.4 gpio.5 сами не выключаются) только непойму при чем тут ansel ? @ device pic12F675, intrc_osc, wdt_on, pwrt_on, protect_off, mclr_off, bod_on define osc 4 DEFINE ADC_BITS 10 ' DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50 'trisio = %00000001 ;ansel = %00000001 ;adcon0 = %00000011 ;gpio = %00000000 pause 50 ;----------------------------------------------------- ;--------------------------------------MAIN--------------------------- main: gpio.0 = 1 pause 50 gpio.1 = 1 pause 50 gpio.2 = 1 pause 50 gpio.4 = 1 pause 50 gpio.5 = 1 pause 50 '----------------- low gpio.0 pause 50 low gpio.1 pause 50 low gpio.2 pause 50 low gpio.4 pause 50 low gpio.5 pause 50 goto main
|
|
|
|
deskjet |
Дата: Ср, 22.09.2010, 19:10 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
143
Замечания:
±
На сайте с 20.06.2009
Статус:
Offline
|
ansel - это, видимо, вроде adcon0 то есть устанавливает определенные значения битов в каком-то регистре. Нужно смотреть документацию на PicBasicPro, сам я в нем пока не силен.
За 20 8 дней ни одного сгоревшего микроконтроллера. PIC12, PIC16, PIC18, ATtiny, ATmega, STM8, STM32, MSP430
|
|
|
|
demanik |
Дата: Ср, 22.09.2010, 21:57 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Если у вас gpio.0 аналоговый вход то почему вы им управляете как выходом? gpio.3 может быть только входом!!! в архиве рабочий комплект
Попробуй всё и вся... может быть пол...
Сообщение отредактировал
demanik - Ср, 22.09.2010, 22:14
|
|
|
|
ivan_fd |
Дата: Ср, 22.09.2010, 22:01 | Сообщение # 6 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Ansel это не PicBasicPro, а регистр контроллера, отвечающий какой вход будет аналоговый, а какой цифровой. Вам нужно включить все входы цифровыми. И зачем Вам сторожевой таймер, Вы ж его не сбрасываете? Хотя, по моему компилятор сам за ни следит, но может я и ошибаюсь.
|
|
|
|
Dmitry |
Дата: Ср, 22.09.2010, 22:43 | Сообщение # 7 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
157
Замечания:
±
На сайте с 12.05.2009
Статус:
Offline
|
за сторожевым компилятор следит сам,всегда включаю и никогда не сбрасываю. Надежность-с.
|
|
|
|
werewolf |
Дата: Чт, 23.09.2010, 11:29 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 01.07.2010
Статус:
Offline
|
Спасибо теперь понятно что это было я думал компилятор по умолчанию сам ставит выводы в цифровой режим. По поводу gpio.0 то я просто проверял и забыл стереть.
|
|
|
|
retas |
Дата: Пт, 24.09.2010, 22:10 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
445
Замечания:
±
На сайте с 10.09.2007
Статус:
Offline
|
Не шутите сo сторожевой собакой - если включаете, в каких то местах должны его сбрасывать иначе програ через 18мс (кажется столько при 4МГц) будет сбрасываться на начало. Инструмент это тонкий и им своё творение можно и испортить (например если поставить в прерывах). Грубо говоря, если вам кажется что в каком то цикле может произайти зацикливание, то в этом цикле собаку несбрасываете.
|
|
|
|
holyuser |
Дата: Пт, 24.09.2010, 23:03 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
228
Замечания:
±
На сайте с 12.12.2007
Статус:
Offline
|
Quote (retas) Не шутите сo сторожевой собакой - если включаете, в каких то местах должны его сбрасывать иначе програ через 18мс (кажется столько при 4МГц) будет сбрасываться на начало. Инструмент это тонкий и им своё творение можно и испортить (например если поставить в прерывах). Грубо говоря, если вам кажется что в каком то цикле может произайти зацикливание, то в этом цикле собаку несбрасываете. Не пугайте людей, ничего с прогой не произойдет, из-за "сторожевой собаки", ни через 18мс, ни через 18000мс ... И еще, период "сторожевой собаки" никак не зависит от рабочей частоты контроллера, т.к. у "собаки" свой отдельный генератор. Как уже было написано в соседней теме, компилятор автоматично вставляет команду сброса "собаки" в необходимых местах генерируемого кода, если в начале программы отсуствует дефиниция: DEFINE NO_CLRWDT 1
|
|
|
|
retas |
Дата: Вс, 26.09.2010, 01:24 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
445
Замечания:
±
На сайте с 10.09.2007
Статус:
Offline
|
Спорить не буду (нет времени вникать), просто вспоминая вопросы типа почему у меня програ доходит до кУда то и сбрасывается произвольно, либо не работает как надо и т.п., первым делом у неудачника спрашивается - не включена ли у него собака !!! Чтоб компилер мог бы сам расставлять сбросы "собаки" ( с PicBasicPro не работаю) не могу поверить. Если собака через определённое время не сбрасывает прогру на её начало, то какой в ней толк.
|
|
|
|
holyuser |
Дата: Вс, 26.09.2010, 12:31 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
228
Замечания:
±
На сайте с 12.12.2007
Статус:
Offline
|
Quote (retas) Чтоб компилер мог бы сам расставлять сбросы "собаки" ( с PicBasicPro не работаю) не могу поверить. Верить не надо, надо читать мануалы, а если тем более с PicBasicPro не работаете, то тогда вообще лучьше промолчать, чем заблуждать людей ... А тем, кто хочет на практике убедиться, как-же это он так, компилятор, умудряется расставлять clrwdt, предлагаю скомпилировать одну и ту-же программу на PicBasicPro дважды - сначала с дефиницией DEFINE NO_CLRWDT 1, потом без нее, и сравнить размеры полученных результатов. Разница получается именно из-за добавленных clrwdt, в чем можно убедиться просто посмотрев ассемблерный код.
|
|
|
|
Yrrrec |
Дата: Сб, 13.10.2012, 23:41 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
2
Замечания:
±
На сайте с 22.06.2012
Статус:
Offline
|
gpio.0 = 1 pause 50 HIGH gpio.0 gpio.1 = 1 pause 50 HIGH gpio.1 gpio.2 = 1 pause 50 HIGH gpio.2 gpio.4 = 1 pause 50 gpio.5 = 1 pause 50 доброй ночи! Стыкался с такой проблемой, просто надо добавлять HIGH после Pause.......
|
|
|
|