Отговори на тема  [ 97 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5 ... 7  Следваща
Помош за синтаксис или още нещо... 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Вто Фев 06, 2007 2:45 am
Мнения: 263
Мнение Re: Помош за синтаксис или още нещо...
А портовете кой ги инициализира? Не казваш какъв е пика, но ако е 16-ка, след ресет целия порт Б е изходи.
При 18-ките май порт Б тръгва като аналогов (с дефолтния фюз).
Та, в тоя случай каква реакция чакаш? Ето примерен инит за твоя случай:
За 16-ка:
Код:
PORTB = (1 << 0);
TRISB = (1 << 0);

За 18-ка:
Код:
PORTB = (1 << 0);
LATB = (1 << 0);
ANSELB = 0;
TRISB = (1 << 0);


Пет Окт 30, 2015 12:55 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Помош за синтаксис или още нещо...
dimitrov2000 написа:
... изгубих около 6 часа в напразно блъскане по кода ...

Това не е загуба а трупане на опит. Някъде след 10000 часа (не е грешка, десет хиляди или ако ти харесва около 10 години) вече ще си научил добре нещата :)

_________________
Мразя да мразя ...


Пет Окт 30, 2015 1:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Помош за синтаксис или още нещо...
Не е трупане на опит а загуба на време.
"Конфигурационните битове засега са ми мъгла. "
Конфигурационните битове ги пише в дейташита. Може да го прочете и бам вече не са му мъгла, но той вместо да чете си губи времето с блъскане на глави.
Освен това му казах къде точно му е грешката, ама чукча писател, чукча не читател.

_________________
Warriors of the Night, ASSEMBLER!!!


Пет Окт 30, 2015 2:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 2:21 am
Мнения: 12765
Местоположение: София
Мнение Re: Помош за синтаксис или още нещо...
Изядохте го човека. Започва да ме хваща шубе да питам нещо, ако се наложи... :D

Бих искал да вметна, че много неща които са очевидни и логични за профитата и по-напредналите, за начинаещите не винаги са такива...


Пет Окт 30, 2015 4:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 11:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение Re: Помош за синтаксис или още нещо...
Мии обяснете му с две думи за к'во служат тези битове, че да знае какво да чете...
Ако не ви е срам - аз ще му обясня!


Пет Окт 30, 2015 8:54 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 3:18 pm
Мнения: 363
Местоположение: Varna
Мнение Re: Помош за синтаксис или още нещо...
Ето първоначалната ти идея работеща.

едит: сбъркал съм контролера. За твоя трябва да добавиш
ANSELH = 0;
да кажем след
TRISB = 0xFF;

макар че в симулатора ще работи и така.


Прикачени файлове:
main.c [2.52 KiB]
193 пъти
Пет Окт 30, 2015 10:20 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Окт 26, 2015 10:14 pm
Мнения: 46
Мнение Re: Помош за синтаксис или още нещо...
Stoimen написа:
Ето първоначалната ти идея работеща.

едит: сбъркал съм контролера. За твоя трябва да добавиш
ANSELH = 0;
да кажем след
TRISB = 0xFF;

макар че в симулатора ще работи и така.


Благодаря за файла, компилирах го с MPLAB и сега при другото положение на бутона /отворен, както трябва да бъде/, показва само OFF, като мига на равни интервали. Като затвориш бутона замръзва. Точно обратното на на това , което правеше преди. Сега изпълнява програмата след else...
Ако си я пробвал и при теб работи, значи грешката е в някой от настройките при мен, я на млаба, я на протеуса.

Като разглеждам скрипта, умишлено ли си оставил горе
unsigned int a;
unsigned char buf[20];
от оригиналния скрипт, тъй като според мен по-долу те не играят?


Последна промяна dimitrov2000 на Съб Окт 31, 2015 12:37 am, променена общо 1 път



Съб Окт 31, 2015 12:19 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Окт 26, 2015 10:14 pm
Мнения: 46
Мнение Re: Помош за синтаксис или още нещо...
tolstolob написа:
А портовете кой ги инициализира? Не казваш какъв е пика, но ако е 16-ка, след ресет целия порт Б е изходи.
При 18-ките май порт Б тръгва като аналогов (с дефолтния фюз).
Та, в тоя случай каква реакция чакаш? Ето примерен инит за твоя случай:
За 16-ка:
Код:
PORTB = (1 << 0);
TRISB = (1 << 0);

За 18-ка:
Код:
PORTB = (1 << 0);
LATB = (1 << 0);
ANSELB = 0;
TRISB = (1 << 0);


Колега, при мен са:
TRISD = 0x00;
TRISB = 0xFF;
ANSELH = 0;

Просто не съм постнал целия скрипт, а само частта където гърми...


Съб Окт 31, 2015 12:24 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Окт 26, 2015 10:14 pm
Мнения: 46
Мнение Re: Помош за синтаксис или още нещо...
bongo_x2 написа:
Мии обяснете му с две думи за к'во служат тези битове, че да знае какво да чете...
Ако не ви е срам - аз ще му обясня!


Благодаря за разбирането, колега. Сигурно аз не се изразявам достатъчно добре, но точно това ми е необходимо.
С две думи. Както заявих в друг пост, аз не съм от хората, които питат два пъти за едно и също нещо.
Дата шийта на 887 е близо 300 страници английска реч и особено ако не знаеш какво търсиш си е упражнение.
Ако всичко беше в шийтовете нямаше да има нужда от форуми, разбирай някой хора хора нямаше да има,
къде да си упражняват остроумието или да си избиват комплексите за малоценност.


Съб Окт 31, 2015 12:30 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Помош за синтаксис или още нещо...
dimitrov2000 написа:
Ако всичко беше в шийтовете ...

Рабира се, че не всичко е по шитовете, има и малко по ератите(около 0.1% не повече).

_________________
Warriors of the Night, ASSEMBLER!!!


Съб Окт 31, 2015 12:49 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 3:18 pm
Мнения: 363
Местоположение: Varna
Мнение Re: Помош за синтаксис или още нещо...
dimitrov2000 написа:
Stoimen написа:
Ето първоначалната ти идея работеща.

едит: сбъркал съм контролера. За твоя трябва да добавиш
ANSELH = 0;
да кажем след
TRISB = 0xFF;

макар че в симулатора ще работи и така.


Благодаря за файла, компилирах го с MPLAB и сега при другото положение на бутона /отворен, както трябва да бъде/, показва само OFF, като мига на равни интервали. Като затвориш бутона замръзва. Точно обратното на на това , което правеше преди. Сега изпълнява програмата след else...
Ако си я пробвал и при теб работи, значи грешката е в някой от настройките при мен, я на млаба, я на протеуса.

Като разглеждам скрипта, умишлено ли си оставил горе
unsigned int a;
unsigned char buf[20];
от оригиналния скрипт, тъй като според мен по-долу те не играят?


Пробвах го само в Proteus. Ето теста в proteus.
И да a и buf не са нужни.


Прикачени файлове:
production.zip [47.4 KiB]
181 пъти
test_mcu.zip [16.82 KiB]
185 пъти
Съб Окт 31, 2015 12:22 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пет Юни 25, 2010 3:18 pm
Мнения: 363
Местоположение: Varna
Мнение Re: Помош за синтаксис или още нещо...
Проиграй това което си постнал в първия пост с RB0=1 (внимателно огледай скобите!) и ще разбереш защо не става :)


Съб Окт 31, 2015 12:33 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Окт 26, 2015 10:14 pm
Мнения: 46
Мнение Re: Помош за синтаксис или още нещо...
Stoimen написа:
Проиграй това което си постнал в първия пост с RB0=1 (внимателно огледай скобите!) и ще разбереш защо не става :)


Скрипта тръгна колега и проблема не е бил там, а в пин №1 на чипа. Като го откачих тотално от схемата, всичко си дойде на мястото. Това е енигма за мен засега, защото поне на симулатора, ако въбще има закачено неща съм него, /дори отворен контакт ???/ към маса, дава +2.5 волта напрежение при включване на симулацията и чипа започва да се държи неадекватно. В това за мен няма никаква логика. Феномен, за който тепърва ще дълбая.

Благодаря за съдействието досега. Целия първи етап на проекта заработи, поне на симулатора. Ще кача го по-късно, със съответните коментари, че сега нямам време.


Съб Окт 31, 2015 1:30 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Окт 26, 2015 10:14 pm
Мнения: 46
Мнение Re: Помош за синтаксис или още нещо...
Обещаното си е обещано, така че прилагам работеща първата фаза на проекта си, заедно с Протеус файла, хекса и кода, в случай, че някой иска да си поиграе. Правя изричната уговорка, че още не съм го тествал на реалния чип, така че може и нищо да не излезе, но засега и това е нещо.

При подробно разглеждане и тест, за мен възникват следните въпроси, на които моля някой от знаещите да отговори, ако има желание:


1. Трябва ли входове D0, D1, D2, и D3 на LCD дисплея да се дадат на маса задължително при 4 битовата конфигурация? /Така също си работи/

2. Защо на пин 1, /който в настройките на процесора е заложен като ресет/, в момента в който се закачи за висящия бутон /RESET/ към маса на схемата, се появява +2.5 волта /откъде ???/ и блокира работата на процесора? Дали е проблем на симулатора /нещо скрито/, защото в реалния живот това няма никаква логика. При положение, че ключа е отворен, не би трябвало да има никакво значение за какво е закачен другият му край...

3. Какво трябва да се коригира в кода, за да се обърнат входовете, от високо, както е сега, към ниско ниво? Ако при настоящия код, в който между впрочем е заложено ниско ниво /RBO == 0/, просто се обърнат, схемата пак работи, но при отворен контакт, а не при затворен, както е добре да бъде? Просто има някаква обратна логика, която не мога да си обясня, откъде идва...

4. На симулацията надписа трепти, колкото е по-голяма стойността на кварца, толкова по бързо. Пак на симулацията, това се коригира с увеличаване на закъснението, заложено след PrintScreen "...". При 2000 мс, надписа не трепти, но смятам, че толкова голямо закъснение е ненормално в реалността. Как се избягва това на физическия екран?


Прикачени файлове:
Car Doors.txt [14.13 KiB]
206 пъти
Car Doors HEX.rar [1.41 KiB]
173 пъти
Car Doors Proteus.rar [20.03 KiB]
190 пъти
Car Doors.jpg
Car Doors.jpg [ 276.43 KiB | Прегледано 2825 пъти ]
Съб Окт 31, 2015 5:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Помош за синтаксис или още нещо...
За да не трепти, трябва да махнеш функциите от сорта Start ,Clear за дисплея.
Те не ти и трябват. Махни всичките закъснения. Ако много искаш -направи закъснение в
главния цикъл - след някакво извеждане към дисплея.

Имаш 6 врати, интересуват те 6 бита. Събират се в един байт. Имаш 6 еднакви функции за проследяване , които се различават по бита в тоя байт. И 6 еднакви функции за дисплей, които се различават по стринга, който извеждат.


Нед Ное 01, 2015 11:32 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 97 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5 ... 7  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни