|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 9:05 pm
Помош за синтаксис или още нещо...
| Автор |
Съобщение |
|
dimitrov2000
Ранг: Минаващ
Регистриран на: Пон Окт 26, 2015 10:14 pm Мнения: 46
|
 Помош за синтаксис или още нещо...
Този път съвсем кратък въпрос:
- MPLAB и компилатор CX8;
Този скрипт си върви на симулатора, само че при отворен бутон, вместо затворен, но върти до ELSE и почва отначало. При затваряне на контактите, програмата спира и изходите D се деактивират. При отваряне - продължава да си работи, но си върти само първата част, сякаш за "else" го боли оная работа...
Предварителни благодарности за конкретна помощ.
|
| Чет Окт 29, 2015 7:19 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: Помош за синтаксис или още нещо...
За почни от това, че схемата ти е грешна. За да разбереш къде ти е грешката в схемата: Сложи само 1 контролер, 1 светодиод, 1 кондензатор и 2 резистора, без нищо друго. Като се научиш да мигаш светодиода, пак се обади да питаш.
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Чет Окт 29, 2015 7:27 pm |
|
 |
|
dimitrov2000
Ранг: Минаващ
Регистриран на: Пон Окт 26, 2015 10:14 pm Мнения: 46
|
 Re: Помош за синтаксис или още нещо...
Светодиода мига без проблем, както и се включва и изключва. Кажи друго, ако имаш или ще си играем на гатанки?
|
| Чет Окт 29, 2015 8:11 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: Помош за синтаксис или още нещо...
2 резистора - един заMCLR, друг подпиращ за бутона.
|
| Чет Окт 29, 2015 8:25 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: Помош за синтаксис или още нещо...
LCD_clear () е излишна . Да повторя - delay e почти излишна функция. Използва се при инициализиране на LCD , при подаване на звуков сигнал и подобни ситуации. Специално в случая е излишна (в главния цикъл) и води до гршени навици . Проучи т.нар. systick таймер.
|
| Чет Окт 29, 2015 8:32 pm |
|
 |
|
dimitrov2000
Ранг: Минаващ
Регистриран на: Пон Окт 26, 2015 10:14 pm Мнения: 46
|
 Re: Помош за синтаксис или още нещо...
Благодаря. Това с двата резистора вече го направих. Сега махам излишните редове и пробвам, дали ше прескочи.
|
| Чет Окт 29, 2015 8:47 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: Помош за синтаксис или още нещо...
dimitrov2000 ти въобще разбра ли защо "прескача", когато е само с 1 резистор?
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Чет Окт 29, 2015 8:49 pm |
|
 |
|
dimitrov2000
Ранг: Минаващ
Регистриран на: Пон Окт 26, 2015 10:14 pm Мнения: 46
|
 Re: Помош за синтаксис или още нещо...
Опростих скрипта по съвета ти, сега текста не прeмигва, но продължава да изписва само първия ред. Не ще да продължи нататък. Lcd_Init(); while(1) { if(RB0 == 0) //If Switch is pressed { Lcd_Set_Cursor(2,1); Lcd_Write_String("SWITCH ON"); __delay_ms(2000); } else {Lcd_Set_Cursor(2,1); Lcd_Write_String("OFF"); __delay_ms(2000); } } return 0; }
|
| Чет Окт 29, 2015 8:57 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: Помош за синтаксис или още нещо...
Продължавай да се мъчиш и някой ден, ще се сетиш къде е заровено кучето.
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Чет Окт 29, 2015 10:41 pm |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: Помош за синтаксис или още нещо...
if (RB0 == 0) сигурен ли си, че така се проверява състоянието на входен порт? Потърси пример и описание из бумагите на компилатора
|
| Чет Окт 29, 2015 11:24 pm |
|
 |
|
s7ama7
Ранг: Почетен член
Регистриран на: Съб Ное 29, 2014 10:11 am Мнения: 774
|
 Re: Помош за синтаксис или още нещо...
Пусни цялата програма че ми стана интересно
|
| Пет Окт 30, 2015 12:12 am |
|
 |
|
dimitrov2000
Ранг: Минаващ
Регистриран на: Пон Окт 26, 2015 10:14 pm Мнения: 46
|
 Re: Помош за синтаксис или още нещо...
Това го взех от твоя пример, но е вярно. Навсякъде е така. Т.е. If /нещо/ then /друго нещо/ си работи. Според мен проблема идва от else. Компилатора го приема, като синтаксис, но не прави нищо след това. Повтаря си лупа на първата част и държи изписан текста на екрана. Ако има заложено закъснение при стартиране си го изпълнява и си се стартира наново. Като промениш състоянието на ключа, екрана замръзва там където е. Ако е на надпис - си остава надписа, ако е на празно, си остава празно. Т.е. програмата спира, изходните портове на чипа /на симулатора/ стават неактивни /сиви/. Ако върнеш ключа обратно си тръгва пак.
|
| Пет Окт 30, 2015 12:33 am |
|
 |
|
dimitrov2000
Ранг: Минаващ
Регистриран на: Пон Окт 26, 2015 10:14 pm Мнения: 46
|
 Re: Помош за синтаксис или още нещо...
И на мен ми е интересно брат, но още няма нищо за пускане. На етап експерименти, стъпка по стъпка съм. Идеята ми е да използвам чипа за многофункционална графична индикация на колата. Отворена врата, капак, чек, термометър, и т.н. Засега все аналогови работи, но все отнякъде трябва да се почне. Миналата седмица се захванах с тая работа, че отваря доста възможности, както за хоби, така и по предназначение. Станах пишман, но съм инат и ще го изкопая докрай.
|
| Пет Окт 30, 2015 12:39 am |
|
 |
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 11:22 pm Мнения: 3084
|
 Re: Помош за синтаксис или още нещо...
недей така  , още е рано. Пусни новата схема да я видим. Тука има доста хора ,дето работят на симулатор, и може да дадат идея. Предполагам,че имаш проблеми ойоло ресет пина и конфигурационните битове.
|
| Пет Окт 30, 2015 8:07 am |
|
 |
|
dimitrov2000
Ранг: Минаващ
Регистриран на: Пон Окт 26, 2015 10:14 pm Мнения: 46
|
 Re: Помош за синтаксис или още нещо...
Отначало не тръгваше въобще и проблема се оказа в недоглеждане именно около ресет пина. По закона на Мърфи, след като изгубих около 6 часа в напразно блъскане по кода, забелязах че в конфигурацията на процесора ресет пина е активиран, а на схемата не го бях вързал въобще, та потегли някак си...Затова бях писал постнал в предишния пост двата кода за сравнение. Оказа се недоглеждане.
Тук ситуацията изглежда различна. Парадокса /за мен разбира се/ е, че другата тестова програма, в която чипа си изписва разни текстове, си работи без проблем. Когато смениш кода на програмата се появява настоящия проблем. Не иска да реагира на промяна на входа. Конфигурационните битове засега са ми мъгла. Качих настройката, която MPLAB ми генерира.
|
| Пет Окт 30, 2015 12:38 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|